jQuery 附加和分离事件处理程序
示例
附加事件处理程序
从1.7版开始,jQuery具有事件API。这样,任何标准的javascript事件或自定义事件都可以绑定到当前选择的jQuery元素上。有诸如的快捷方式,但为您提供了更多选择。.on().click().on()
的HTML
<button id="foo">bar</button>
jQuery的
$( "#foo" ).on( "click", function() { console.log( $( this ).text() ); //bar });
分离事件处理程序
当然,您也可以将事件与jQuery对象分离。您可以使用来实现.off(events[,selector][,handler])。
的HTML
<button id="hello">hello</button>
jQuery的
$('#hello').on('click', function(){ console.log('hello world!'); $(this).off(); });
单击该按钮时,$(this)将引用当前的jQuery对象,并从中删除所有附加的事件处理程序。您还可以指定应删除哪个事件处理程序。
jQuery的
$('#hello').on('click', function(){ console.log('hello world!'); $(this).off('click'); }); $('#hello').on('mouseenter', function(){ console.log('you are about to click'); });
在这种情况下,mouseenter单击后事件仍将起作用。