【发布时间】:2012-04-02 23:13:44
【问题描述】:
由于 live() 方法在 1.7 版已被弃用,我开始检查我的源代码并将所有实时事件处理程序转换为 on()。我的印象是改变会很简单,一切都会像以前一样工作。但是,我遇到了一些行为不正常的代码。
我有下面的 jQuery select 来绑定一个表格标签的点击事件...
$('table.accordion-header').live("click", function ($e) {
// gobs of code
}
... 它工作得很好(即 - 即使在页面上发生异步回发之后也会引发我的表格标签点击事件)。但是如果我将代码更改为以下
$('table.accordion-header').on("click", function ($e) {
// gobs of code
}
然后在页面上发生任何异步回发后不再引发 click 事件。请注意 - click 事件对任何异步回发都有效,但之后不再有效。那么我在这里错过了什么?
【问题讨论】:
-
检查你是否把它放在一个“$(document).ready()”函数类型中,或者你之前没有调用它并返回false。有一种检查方法:$('table.accordion-header').trigger('click');
标签: jquery