div甚至在使用off后触发click事件

时间:2014-06-03 11:56:29

标签: javascript jquery

我有一个有点击事件的div。

<div id="e_tooth_pk1" class="e_tooth_pk1" title="Tooth 1">Tooth 1</div>
JS在这里:

$("#e_tooth_pk1").off("click");
$("#e_tooth_pk1").click(function() {
    alert("hiii");
});

我尝试使用off来停止点击事件,但它会触发它。我想我错过了什么。

jsfiddle

4 个答案:

答案 0 :(得分:1)

将事件设置为关闭状态后,您再次绑定它。这就是问题所在。

尝试,

$("#e_tooth_pk1").click(function() {
    alert("hiii");
});

$("#e_tooth_pk1").off("click");

但我想知道为什么你需要这样做。我认为您正在寻找.one()功能。

DEMO

答案 1 :(得分:1)

你可能想要这样:

$("#e_tooth_pk1").click(function() {
    alert("hiii");
   $(this).off('click');
});

答案 2 :(得分:0)

关闭后再次绑定点击事件。点击后尝试关闭。

$("#e_tooth_pk1").click(function() {
    alert("hiii");
});

$("#e_tooth_pk1").off("click");

小提琴链接:http://jsfiddle.net/EaA5A/5/

答案 3 :(得分:0)

解决

Vanilla js JSFIDDLE

var elem = document.getElementById('e_tooth_pk1');
elem.addEventListener('click', eventHandler, false);

function eventHandler(){
    alert("hiii");
    this.removeEventListener('click', eventHandler, false);
}