0

我有一个页面,它使用 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> 
4

1 回答 1

4

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

$(document).on("mouseover", ".div_mem", function () {
  $(this).css({ "background-color": "#101010" });
})
.on("mouseout", ".div_mem", function () {
  $(this).css({ "background-color": "" });
});
于 2013-08-14T15:38:45.330 回答