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

时间:2010-03-10 00:48:05

标签: jquery ajax innerhtml

我有许多活动,例如

$('.hidefile').click(function (event) {

在页面加载和某些条件下,我使用ajax获取某个div的html并用.html(htmlstring)填充它。我花了很长时间,但我注意到当我这样做时事件不起作用。我如何用html填充div并让jquery事件与它一起工作?

2 个答案:

答案 0 :(得分:13)

使用live

将点击事件(或其他)绑定到您的元素
$('.hidefile').live("click", function (event) {...

使用ajax替换元素时,会丢失事件处理程序。您可以在用于替换这些元素的特定ajax方法的success回调中明确重新绑定它们,或者使用live处理程序代替,这将:

  

为所有人附加一个处理程序   与当前相匹配的元素   选择器,现在或将来。

答案 1 :(得分:0)

您如何附加点击事件。您应该在document.ready事件中执行此操作以确保已加载DOM。此外,正如karim79所建议的那样,您应该使用实时函数来确保事件持续存在。