多点击事件 - 杂乱?

时间:2013-11-15 08:32:00

标签: javascript jquery events

好吧,我有一个我正在构建的工具,它调用设置JQuery事件处理程序的函数,但结果是在调用不同的函数时会反复设置相同的处理程序。它按预期工作:调用的最新处理程序的操作是执行的操作。这会导致混乱吗?换句话说,当我将click事件放在某个东西上然后再放入另一个时,第一个仍然存在吗?如果是这样,我该如何删除它?

谢谢!

这就是我的意思,为了清晰起见:

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

2 个答案:

答案 0 :(得分:2)

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

这将打印到控制台"第一秒"

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

您可以使用unbind删除之前的点击处理程序。这只会打印"秒"控制台

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

jsFiddle

答案 1 :(得分:0)

您可以使用$(selector).toggle(),如下所示:

(function ($){
    $("#ele").toggle(a, b);
})(jQuery);

这是Demo,希望这可以帮到你:p