我有一个页面,它使用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>
答案 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": "" });
});