Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检查元素是否已在侦听函数_Javascript_Jquery_Javascript Events - Fatal编程技术网

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

Javascript 如何检查元素是否已在侦听函数,javascript,jquery,javascript-events,Javascript,Jquery,Javascript Events,当我用同一个函数添加两次.on()事件侦听器时,它会触发函数两次。。 示例:(单击“打开”按钮,然后单击主绿色div) 如何检查一个元素是否已经在侦听一个函数,以避免将其添加两次 if (already $('#id').on('click',functionName) ) 您可以解除事件列表器的绑定,然后添加它 要解开它,请使用 $('#id').unbind('click'); 您可以使用$.\u数据方法,尽管它是内部的 可能不太理想 无论如何,它就像:$。\u数据($(“#id”

当我用同一个函数添加两次.on()事件侦听器时,它会触发函数两次。。 示例:(单击“打开”按钮,然后单击主绿色div)

如何检查一个元素是否已经在侦听一个函数,以避免将其添加两次

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

您可以解除事件列表器的绑定,然后添加它

要解开它,请使用

$('#id').unbind('click');
您可以使用$.\u数据方法,尽管它是内部的 可能不太理想


无论如何,它就像:
$。\u数据($(“#id”)[0],“事件”)

你有这个
$(“#内容”)。在('click',toggleIt)
上两次,一次接一次。。。计划好了吗?您可能也对活页夹感兴趣,比如上的,但不允许duplicates@JFK是的,只是为了在fiddle中进行测试-在一个实时应用程序中我会添加。在动态上,我需要知道它是否已经被应用。实际上,一个将停止触发事件,并且只会重复点击一次,然后停止工作,这似乎不是他想要的,或者是吗?@kieran one()只是一次尝试而已我相信啊,你给了我一个主意,在打开它之前,先关闭('click',functionName),删除同一个函数之前的任何赋值。谢谢,等等。。不仅仅是不同的名字。我更喜欢本例中建议的.unbind('click'),因为它会删除分配给处理程序的所有函数,而不必使用.off()@bushdiver单独关闭。如果使用
on()
,则可以使用
off()
而不是
unbind()