猿问

jQuery .on不起作用,但.live起作用

由于从1.7版开始不推荐使用live()方法,因此我开始浏览源代码并将所有活动事件处理程序都转换为on()。我的印象是,更改将很简单,并且一切都会像以前一样工作。但是,我遇到了一些行为不正常的代码。


我有以下jQuery选择来绑定表标签的click事件...


$('table.accordion-header').live("click", function ($e) {

  // gobs of code

}

...并且它工作得很好(即,即使在页面上发生异步回发之后,也会引发我的表标签click事件)。但是如果我将代码更改为以下内容


$('table.accordion-header').on("click", function ($e) {

  // gobs of code

}

那么在页面上发生任何异步回发后,将不再引发click事件。请注意-click事件确实适用于所有异步回发,但之后不再起作用。那我在这里想念什么?


拉丁的传说
浏览 597回答 3
3回答

慕容708150

相当于$('table.accordion-header').live("click", function ($e) {  // gobs of code} );是$(document).on("click", 'table.accordion-header', function ($e) {  // gobs of code} );
随时随地看视频慕课网APP

相关分类

JQuery
我要回答