javascript - 如何将点击事件绑定(bind)到不同的类?

标签 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>

最佳答案

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

$(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

关于javascript - 如何将点击事件绑定(bind)到不同的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12099431/

相关文章:

c++ - 可变参数增强绑定(bind)类型解析

javascript - Google 跟踪代码管理器自定义 JavaScript

javascript - React 无法对未安装的组件执行状态更新

javascript - jQuery :hover Div to reveal Sibling

javascript - JQuery:使用 clone() 制作的元素不采用原始事件属性

emacs:将数字行的绑定(bind)切换为等效的 <shift>-ed

javascript - 将 CSV 文件转换为二维数组

javascript - 找不到命名空间/名称 chrome

javascript - JScript运行时错误: '$' is undefined

c++ - 带参数的类的 pthread 成员函数