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 に答える