jQuery的事件处理

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", "**" )

待完善

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值