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单击后事件仍将起作用。