javascript - 多次点击事件 - 杂乱无章?

标签 javascript jquery events

好吧,我有一个我正在构建的工具,它调用设置 JQuery 事件处理程序的函数,但结果是相同的处理程序将在调用不同的函数时一遍又一遍地设置。它按预期工作:最近调用的处理程序的操作是执行的操作。但这会造成困惑吗?换句话说,当我在某个东西上放置一个点击事件,然后在另一个东西上放置一个点击事件时,第一个是否仍然存在?如果是这样,我该如何删除它?

谢谢!

为了清楚起见,我的意思是:

$('#ele').click(function() {
    Do Something
}
$('#ele').click(function() {
    Do Something Else
}

最佳答案

使用 click添加新的点击处理程序

这将打印到控制台“第一秒”

$("#test").click(function() { console.log("first"); });
$("#test").click(function() { console.log("second"); });

您可以使用unbind 来删除之前的点击处理程序。这只会将“second”打印到控制台

$("#test").click(function() { console.log("first"); });
$("#test").unbind("click").click(function() { console.log("second"); });

jsFiddle

关于javascript - 多次点击事件 - 杂乱无章?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19996684/

相关文章:

javascript - 创建外部 .js

javascript - 如何查找 javascript 中失败或导致 javascript 崩溃/无法继续执行的行

javascript - 清除搜索输入字段后,如何从搜索过滤器中隐藏列表项?

javascript - konvajs:拖放后项目位置不会改变

javascript - 无法拖动附加项目

Jquery Validate - 使用远程查看 MySQL 数据库中是否存在某个实例

jquery - 在表格行高调整大小时动画 slideUp

javascript - 如何使用事件监听器通过 javascript 更改背景

javascript - 动态创建元素的视频addEventListener

javascript - 如何覆盖*仅*左键单击 anchor ?