Jquery 事件在 ajax/innerHtml 之后不起作用

标签 jquery ajax innerhtml

我有很多事件,例如

$('.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/

相关文章:

jquery - 如何使用另一个在线mp3资源更改<audio>标签中的src attr并重新加载它

php - 我如何使用javascript在动态表中添加动态下拉选择

jquery - 如何使用jquery添加html

javascript - 改变 innerHTML 只工作一次

javascript - 调用addEventListener调整大小一次?

Javascript 正则表达式返回 true.. 然后 false.. 然后 true.. 等等

javascript - 如何使用javascript识别哪个按钮发出了请求

php - 如何调用ajax中的函数到php函数并等待响应

悬停时的 Jquery 动画子菜单不流畅

jQuery 插件,用于带有自动建议的逗号分隔标签的简单输入框