如何检查元素是否已在侦听函数

时间:2013-01-13 06:08:59

标签: javascript jquery javascript-events

当我使用相同的函数添加两次.on()事件侦听器时,它会触发该函数两次。 例如:http://jsfiddle.net/56hxy/13/(单击“打开”按钮,然后单击主绿色div)

如何检查elem是否已在侦听某个功能,以便不再添加两次?

if (already  $('#id').on('click',functionName)  ) 

2 个答案:

答案 0 :(得分:1)

您可以取消绑定事件侦听器,然后添加它。

取消绑定使用

$('#id').unbind('click');

答案 1 :(得分:0)

this question?的重复您可以使用$ ._ data方法,尽管它是内部的 可能不太理想。

无论如何,它会像:$._data($("#id")[0], "events")