2

したがって、「ボタンを開く」と「ボタンを閉じる」の2つのクリックイベントがあります。クリックすると「ボタンを開く」から「ボタンを閉じる」に切り替わるボタンが1つあります。したがって、もう一度クリックすると、「ボタンを閉じる」のイベントが発生するはずですが、代わりに「ボタンを開く」のイベントが再度発生します。デモ: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 に答える