不同的jQuery API来处理不同的浏览器事件


Posted in Javascript onDecember 09, 2012

在今天的网络浏览器处理事件是有点困难的一部分,不同的浏览器以不同的方式处理事件。因此,要克服这些跨浏览器的问题,人们可以利用jQuery的事件处理API。

jQuery是一个小的JavaScript库,提供了广大的API来处理不同的浏览器事件和效果和更大量。阅读更多有关处理使用JavaScript浏览器的用户界面效果。在本教程中,我们将探讨不同的API jQuery来处理不同的浏览器事件。
Page Load事件
就绪(FN),
这是所有类型的事件,jQuery的支持的基础上。你可能想设置形式的焦点,当页面被载入或做一些UI效果。

$(document).ready(function () { 
$("p").text("The DOM is now loaded and can be manipulated."); 
});

事件处理
绑定(类型,数据,FN),
您可能要绑定一个处理一个或多个事件的任何元素(单击/双击等)。使用此功能结合custome任何元素的事件处理程序。
$("p").bind("click", function(e) { 
var str = "( " + e.pageX + ", " + e.pageY + " )"; 
$("span").text("Click happened! " + str); 
}); 
$("p").bind("dblclick", function() { 
$("span").text("Double-click happened in " + this.tagName); 
}); 
$("p").bind("mouseenter mouseleave", function(e) { 
$(this).toggleClass("over"); 
});

触发(事件,资料)
触发每一个匹配的元素上的事件,
这也将导致浏览器具有相同的名称(如果存在的话)要执行的默认操作。例如,通过触发()的功能也将导致浏览器提交表单的“提交”。返回绑定到事件的职能之一虚假的默认行为是可以预防的。
触发的事件并不局限于基于浏览器的事件,你也可以自定义事件触发绑定注册。
$("button:first").click(function () { 
update($("span:first")); 
}); 
$("button:last").click(function () { 
$("button:first").trigger('click'); 
update($("span:last")); 
}); 
function update(j) { 
var n = parseInt(j.text(), 10); 
j.text(n + 1); 
}

交互辅助活动
在今天的Web 2.0应用程序,用户intraction处理是非常重要的。jQuery提供了一些API,可以用来处理这些相互作用。悬停(多出)此功能提供了悬停功能,即当鼠标光标移动到一个匹配的元素,第一个指定的功能被解雇。当鼠标移动的元素,第二个指定的功能火灾。此外,检查的地方看到,如果鼠标仍然是在指定的元素(例如,一个div里面的图像),如果是这样,它会继续“徘徊”,并没有迁出(一种常见的在使用mouseout事件处理程序)的错误。
$("li").hover( 
function () { 
$(this).append($("<span> ***</span>")); 
}, 
function () { 
$(this).find("span:last").remove(); 
} 
);

辅助其他活动
以下是功能,可用于处理不同类型的事件清单。
模糊()
:触发​​每一个匹配元素的blur事件。
$("input").blur(function () { 
$(this).next("span").css('display','inline').fadeOut(1000); 
}); 
模糊(FN) 
:每一个匹配元素的blur事件中绑定一个处理函数。 
[code] 
$("input").blur(function () { 
$(this).next("span").css('display','inline').fadeOut(1000); 
});

(FN)
:每一个匹配元素的change事件中绑定一个功能。
$("select").change(function () { 
var str = ""; 
$("select option:selected").each(function () { 
str += $(this).text() + " "; 
}); 
$("div").text(str); 
}) 
.change();

点击(FN)
:绑定到每一个匹配元素的click事件的功能。
$("p").click(function () { 
$(this).slideUp(); 
}); 
$("p").hover(function () { 
$(this).addClass("hilite"); 
}, function () { 
$(this).removeClass("hilite"); 
});

双击(FN)
:触发​​每一个匹配元素的DblClick事件。
var divdbl = $("div:first"); 
divdbl.dblclick(function () { 
divdbl.toggleClass('dbl'); 
});

按键(FN)
:每一个匹配元素的keypress事件中绑定一个功能。
$("input").keypress(function (e) { 
if (e.which == 32 || (65 <= e.which & e.which <= 65 + 25) 
|| (97 <= e.which && e.which <= 97 + 25)) { 
var c = String.fromCharCode(e.which); 
$("p").append($("<span/>")) 
.children(":last") 
.append(document.createTextNode(c)); 
} else if (e.which == 8) { 
// backspace in IE only be on keydown 
$("p").children(":last").remove(); 
} 
$("div").text(e.which); 
});

的mousedown(FN)
:绑定到每一个匹配元素的mousedown事件的功能。
$("p").mouseup(function(){ 
$(this).append('<span style="color:#F00;">Mouse up.</span>'); 
}).mousedown(function(){ 
$(this).append('<span style="color:#00F;">Mouse down.</span>'); 
});

滚动(FN)
:每一个匹配元素的scroll事件中绑定一个处理函数。
$("p").clone().appendTo(document.body); 
$("p").clone().appendTo(document.body); 
$("p").clone().appendTo(document.body); 
$(window).scroll(function () { 
$("span").css("display", "inline").fadeOut("slow"); 
});
Javascript 相关文章推荐
jQuery each()方法的使用方法
Mar 18 Javascript
javascript获取作用在元素上面的样式属性代码
Sep 20 Javascript
使用js解决由border属性引起的div宽度问题
Nov 26 Javascript
JSF中confirm弹出框的用法示例介绍
Jan 07 Javascript
JS面向对象编程详解
Mar 06 Javascript
webpack 2.x配置reactjs基本开发环境详解
Aug 08 Javascript
webpack4+Vue搭建自己的Vue-cli项目过程分享
Aug 29 Javascript
vue3.0 CLI - 3.2 路由的初级使用教程
Sep 20 Javascript
Vue 中的受控与非受控组件的实现
Dec 17 Javascript
谈谈JavaScript中super(props)的重要性
Feb 12 Javascript
分享Angular http interceptors 拦截器使用(推荐)
Nov 10 Javascript
javascript实现时间日期的格式化的方法汇总
Aug 06 Javascript
addEventListener和attachEvent二者绑定的执行函数中的this不相同
Dec 09 #Javascript
Javascript获取窗口(容器)的大小及位置参数列举及简要说明
Dec 09 #Javascript
定义JavaScript二维数组采用定义数组的数组来实现
Dec 09 #Javascript
javascript操作JSON的要领总结
Dec 09 #Javascript
js写一个弹出层并锁屏效果实现代码
Dec 07 #Javascript
JavaScript之Getters和Setters 平台支持等详细介绍
Dec 07 #Javascript
缓动函数requestAnimationFrame 更好的实现浏览器经动画
Dec 07 #Javascript
You might like
受疫情影响 动画《Re从零开始的异世界生活》第二季延期至7月
2020/03/10 日漫
咖啡豆要不要放冰箱的原因
2021/03/04 冲泡冲煮
Windows下PHP的任意文件执行漏洞
2006/10/09 PHP
基于php设计模式中单例模式的应用分析
2013/05/15 PHP
php中获取主机名、协议及IP地址的方法
2014/11/18 PHP
PHP读取大文件的多种方法介绍
2016/04/04 PHP
PHP 中 DOMDocument保存xml时中文出现乱码问题的解决方案
2016/09/19 PHP
ThinkPHP模板标签eq if 中区分0,null,false的方法
2017/03/24 PHP
PHP+mysql实现的三级联动菜单功能示例
2019/02/15 PHP
JS的replace方法详细介绍
2012/11/09 Javascript
js 自动播放的实例代码
2013/11/19 Javascript
Jqgrid设置全选(选择)及获取选择行的值示例代码
2013/12/28 Javascript
基于jquery的文字向上跑动类似跑马灯的效果
2014/09/22 Javascript
jquery+CSS3实现淘宝移动网页菜单效果
2015/08/31 Javascript
基于jquery实现简单的手风琴特效
2015/11/24 Javascript
jquery 获取select数组与name数组长度的实现代码
2016/06/20 Javascript
EasyUI在Panel上动态添加LinkButton按钮
2017/08/11 Javascript
js实现微信聊天效果
2020/08/09 Javascript
python调用API实现智能回复机器人
2018/04/10 Python
Python3使用pandas模块读写excel操作示例
2018/07/03 Python
Python元组知识点总结
2019/02/18 Python
CSS3媒体查询(Media Queries)介绍
2013/09/12 HTML / CSS
海信商城:海信电视、科龙空调、容声冰箱官方专卖
2017/02/07 全球购物
日本著名的服饰鞋帽综合类购物网站:MAGASEEK
2019/01/09 全球购物
意大利体育用品和运动服网上商店:Maxi Sport
2019/09/14 全球购物
新大陆软件面试题
2016/11/24 面试题
员工培训邀请函
2014/01/11 职场文书
房屋出租协议书
2014/04/10 职场文书
调解协议书
2014/04/16 职场文书
《大禹治水》教学反思
2016/02/22 职场文书
2016年村党支部公开承诺书
2016/03/24 职场文书
2019年共青团工作条例最新版
2019/11/12 职场文书
vue-cropper插件实现图片截取上传组件封装
2021/05/27 Vue.js
python周期任务调度工具Schedule使用详解
2021/11/23 Python
十大必看国产动漫排名,魁拔上线,第二曾在日本播出
2022/03/18 国漫
vue使用wavesurfer.js解决音频可视化播放问题
2022/04/04 Vue.js