如何将点击事件绑定到其他类?

时间:2012-08-23 20:25:57

标签: javascript jquery bind

所以我有两个点击事件“按钮打开”和“按钮关闭”。我有一个按钮,点击时从“按钮打开”切换到“按钮关闭”。因此,当我再次点击它时,它应该触发“按钮关闭”事件,但它会再次触发“按钮打开”事件。 演示: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>

1 个答案:

答案 0 :(得分: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");
});

<强> DEMO