jquery事件绑定函数

一、bindjquery

使用语法:函数

1  jQueryObject.bind( events [, data ], handler )
2  jQueryObject.bind( events [, data ] [, isDefaultBubble ] )
3  jQueryObject.bind( eventsMap )

ps:执行bind()时,会为当时文档中存在的每一个匹配的元素绑定事件,若是以后你向文档中添加了新的与bind()绑定的元素相同的元素,绑定事件不会对其生效。若是你但愿绑定事件对将来新添加的元素也生效,请使用on()delegate()live()等事件函数(尽可能优先使用靠前的事件函数)。this

二、onspa

使用语法:code

1 jQueryObject.on( events [, selector ] [, data ], handler )
2 jQueryObject.on( eventsMap [, selector ] [, data ] )

  从jQuery 1.7开始,on()函数提供了绑定事件处理程序所需的全部功能,用于统一取代之前的bind()、 delegate()、 live()等事件函数。htm

  关于参数selector,你能够简单地理解为:若是该参数等于null或被省略,则为当前匹配元素绑定事件;不然就是为当前匹配元素的后代元素中符合selector选择器的元素绑定事件。参数handler中的this指向当前匹配元素的后代元素中触发该事件的DOM元素。若是参数selector等于null或被省略,则this指向当前匹配元素(也就是该元素)。对象

ps:若是传递了selector参数,那么on()函数并非为当前jQuery对象匹配的元素绑定事件处理函数,而是为它们的后代元素中符合选择器selector参数的元素绑定事件处理函数。on()函数并非直接为这些后代元素挨个绑定事件,而是委托给当前jQuery对象的匹配元素来处理。因为DOM 2级的事件流机制,当后代元素selector触发事件时,该事件会在事件冒泡中传递给其全部的祖辈元素,当事件流传递到当前匹配元素时,jQuery会判断是哪一个后代元素触发了事件,若是该元素符合选择器selector,jQuery就会捕获该事件,从而执行绑定的事件处理函数。blog

三、delegate事件

使用语法:文档

jQueryObject.delegate( selector , events [, data ], handler )
jQueryObject.delegate( selector, eventsMap )

ps:参数的意义和on方式同样,二者区别是seleter和events顺序不一样,delegate的selector是必需的,on的selector是可选的

相关文章
相关标签/搜索