2

所以我有两个“按钮打开”和“按钮关闭”的点击事件。我有一个按钮可以在单击时从“按钮打开”切换到“按钮关闭”。因此,当我再次单击它时,它应该触发“按钮关闭”事件,但它会再次触发“按钮打开”事件。演示:jsFidde

这是我的代码:

<a href="#" class="button-open">Button</a>​

<script>
$(document).ready(function() {
   $(".button-open").click(function() {
      $(this).removeClass("button-open").addClass("button-close");
      alert("Open Was Clicked");
   });

   $(".button-close").click(function() {
      $(this).removeClass("button-close").addClass("button-open");
      alert("Close Was Clicked");
   });
});
</script>
4

1 回答 1

5

使用on()而不是click(),因为您需要绑定到最初绑定时尚不存在的元素。

$(document).on('click', '.button-open', function() {
    $(this).removeClass("button-open").addClass("button-close");
    alert("Open Was Clicked");
});


$(document).on('click', '.button-close', function() {
    $(this).removeClass("button-close").addClass("button-open");
    alert("Close Was Clicked");
});

演示

于 2012-08-23T20:28:59.360 回答