ajax调用后,Javascript事件不起作用

时间:2013-08-14 15:34:27

标签: javascript jquery html ajax javascript-events

我有一个页面,它使用JS绑定一些事件处理程序,然后进行AJAX调用。一切正常,直到AJAX运行,但在那之后,我的所有事件处理程序都停止工作。有谁知道为什么会这样?

我没有发布我的AJAX代码,因为它超过了最大长度,我不确定它的哪些部分是相关的。

<div class="div_mem"> eee </div>

<script type="text/javascript">
  $(document).ready(function () {
    $(".div_mem")
    .mouseover(function () {
      $(this).css({ "background-color": "#101010" });
    })
    .mouseout(function () {
      $(this).css({ "background-color": "" });
    });
  });  
</script> 

1 个答案:

答案 0 :(得分:5)

你可能在AJAX调用期间替换了.div_mem元素,对吗?即使用另一个.div_mem元素替换它,事件处理程序仍然绑定到旧对象。您需要确保他们使用$(".div_mem")当前结果。

$(document).on("mouseover", ".div_mem", function () {
  $(this).css({ "background-color": "#101010" });
})
.on("mouseout", ".div_mem", function () {
  $(this).css({ "background-color": "" });
});