1

也许我错过了一些相关的东西,但如果我在文件准备好时使用它

$('a.edit').on("click", displayEditForm);

然后在ajax调用之后

$('a.edit').off();
$('a.edit').on('click', displayEditForm);

它有效,我需要卸载,因为有些 a.click 是动态加载的,有些不是,所以我只想将它们全部附加一次。问题是这暂时有效,但我想使用

$('a.edit').off('click', displayEditForm);
$('a.edit').on('click', displayEditForm);

那是行不通的。它不会失败,但其中一些在单击时会调用该函数两次。如果我使用也不起作用

$('a.edit').off('click', '**');

知道为什么吗?

谢谢

4

1 回答 1

7

如果您动态生成它们,您可以绑定click()如下:

$(document).on('click' , 'a.edit', function(){})

或使用$(document).delegate('a.edit', 'click', function(){})

我个人使用第一个解决方案

于 2013-05-10T14:58:53.303 回答