jQuery也扩展了JavaScript的事件处理机制,不仅提供了更加简洁的处理语法,同时也具有更好的兼容性,这使得开发人员使用jQuery的事件处理后,就不用担心各种不同浏览器之间的兼容性了。
$(document).ready(function):将函数绑定到文档的就绪事件(当文档完成加载时)。
$(选择器).click(function):触发或将函数绑定到被选元素的点击事件。
$(选择器).dblclick(function):触发或将函数绑定到被选元素的双击事件。
$(选择器).focus(function):触发或将函数绑定到被选元素的获得焦点事件。
$(选择器).mouseover(function):触发或将函数绑定到被选元素的鼠标悬停事件。
页面初始化事件
本章的大多数示例都使用了页面加载事件来演示jQuery的功能,也就是$(document).ready
这个事件。页面加载事件是jQuery提供的事件处理模块中最重要的一个函数,可以极大地提高Web应用程序的响应速度。简而言之,该方法就是对window.load
事件的替代,通过使用该方法,在DOM载入就绪且能够读取并操纵时,就可以调用在ready事件中定义的函数代码,页面加载事件的语法如下所示:
$(document).ready(function(){
// 在这里写页面加载事件的代码
});
window.onload = function(){
// 在这里写页面加载事件的代码
}
$(function(){
// 在这里写页面加载事件的代码 常用
});
$().ready(function(){
// 在这里写页面加载事件的代码
})
//其中function表示在页面加载时要执行的函数,在一个页面内可以同时定义多个read()事件处理代码,它们会在页面加载时依照定义的先后次序统一得到执行,就好像是在一个函数体内执行了多段代码一样。
注意:为了能正确使用ready事件,必须确保标签中没有定义onload事件,否则不会触发ready事件。而且onload事件必须要等到所有元素下载完成后才会执行,这会影响执行的效率
页面初始化事件代码
< script type = "text/javascript" >
//使用最简单的加载事件语法
$(function() {
alert("你好,这个提示框最先弹出!");
});
//完整的页面加载事件语法
$(document).ready(function(e) {
alert("这个对话框会按定义的次序在前一个对话框之后弹出!");
});
//第3种页面加载事件语法
$().ready(function(e) {
alert("简单的页面加载事件的写法");
});
//第4种页面加载事件语法
jQuery().ready(function(e) {
alert("这个对话框会在最后被弹出!");
});
< /script>
注意:这个代码示例分别演示了4种不同的页面加载事件的写法,它们都用于弹出对话框,运行时会看到,所有的页加载事件都得到了执行,而如果是多次关联window.load事件,则只有最后一个会被执行。
绑定事件
on()函数 用于为指定元素的一个或多个事件绑定事件处理函数
从jQuery 1.7开始,on()函数提供了绑定事件处理程序所需的所有功能,用于统一取代以前的bind()、 delegate()、 live()等事件函数。
on()支持直接在目标元素上绑定事件,也支持在目标元素的祖辈元素上委托绑定。在事件委托绑定模式下,即使是执行on()函数之后新添加的元素,只要它符合条件,绑定的事件处理函数也对其有效。
此外,该函数可以为同一元素、同一事件类型绑定多个事件处理函数。触发事件时,jQuery会按照绑定的先后顺序依次执行绑定的事件处理函数。
要删除通过on()绑定的事件,请使用off()函数。如果要附加一个事件,只执行一次,然后删除自己,请使用one()函数。
该函数属于jQuery对象(实例)。
on语法
jQuery 1.7 新增该函数。其主要有以下两种形式的用法:
用法一:
jQueryObject.on( events [, selector ] [, data ], handler )
用法二:
jQueryObject.on( eventsMap [, selector ] [, data ] )
参数 用法详情:http://www.365mini.com/page/jquery-on.htm
off删除绑定事件 http://jquery.cuishifeng.cn/off.html
在选择元素上移除一个或多个事件的事件处理函数。
off() 方法移除用.on()绑定的事件处理程序。
参数:
events,[selector],[fn]V1.7
events:一个或多个空格分隔的事件类型和可选的命名空间,或仅仅是命名空间,比如”click”, “keydown.myPlugin”, 或者 “.myPlugin”.
selector:一个最初传递到.on()事件处理程序附加的选择器。
fn:事件处理程序函数以前附加事件上,或特殊值false.
events-map,[selector]V1.7
events-map:一个用字符串表示的,一个或多个空格分隔的事件类型和可选的命名空间,值表示先前事件绑定的处理函数。
selector:一个最初传递到.on()事件处理程序附加的选择器。
从所有段落中删除所有事件处理程序:
$("p").off()
从所有段落中删除所有委派的单击处理程序:
$("p").off( "click", "**" )
待完善