我有很多事件,例如
$('.hidefile').click(function (event) {
在页面加载和某些条件下,我使用ajax获取特定div的html并用.html(htmlstring)填充它。我花了很长时间,但我注意到当我这样做时,这些事件不起作用。我如何用 html 填充 div 并让 jquery 事件与其一起工作?
最佳答案
使用 live
将您的点击事件(或其他方式)绑定(bind)到您的元素:
$('.hidefile').live("click", function (event) {...
当您使用 ajax 替换元素时,它们会丢失其事件处理程序。您可以在用于替换这些元素的特定 ajax 方法的 success
回调中显式重新绑定(bind)它们,或者使用 live相反,处理程序将:
Attach a handler to the event for all elements which match the current selector, now or in the future.
关于Jquery 事件在 ajax/innerHtml 之后不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2413761/