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 首次使用后仅关闭特定的jQuery侦听器_Javascript_Jquery - Fatal编程技术网

Javascript 首次使用后仅关闭特定的jQuery侦听器

Javascript 首次使用后仅关闭特定的jQuery侦听器,javascript,jquery,Javascript,Jquery,在特定侦听器使用一次之后,如何删除它?在本例中,它是一个加载侦听器 $("#my_image").on('load', function() { // do stuff // turn off here }).each(function() { if(this.complete) {$(this).trigger('load');} }); 我不想删除可能附加到同一元素的任何其他侦听器。我看到的其他问题删除了附加到元素的所有侦听器 您可以使用

在特定侦听器使用一次之后,如何删除它?在本例中,它是一个加载侦听器

$("#my_image").on('load', function() {
        // do stuff
        // turn off here        
}).each(function() {
  if(this.complete) {$(this).trigger('load');}
});
我不想删除可能附加到同一元素的任何其他侦听器。我看到的其他问题删除了附加到元素的所有侦听器

您可以使用以下方法:

从文档中:

将处理程序附加到元素的事件。对于每个事件类型,每个元素最多执行一次处理程序。.one()方法与.on()相同,只是给定元素和事件类型的处理程序在第一次调用后解除绑定


太棒了,谢谢!我不知道“一”这是一条非常有用的捷径!重复:我认为有相同的问题/答案不止一次是有用的,但措辞不同。我在谷歌上搜索了几个答案,但没有找到重复链接指向的答案。我搜索了如何关闭一个听众,但没有想到尝试使用“fire”这个词。我同意,这就是为什么它会被关闭而不是被删除。通过将其作为一个复制品关闭,它将一直存在,并作为访问主要问题的用户的附加答案的标志和来源。但为什么要关闭它呢?杰夫·阿特伍德在这里说:“重复的问题有重复的答案是可以的。”这样可以避免从一个问题点击到另一个问题来获得答案。对于这个问题,幸运的是,它在关闭之前得到了正确的答案,但是如果没有,那么稍后遇到它的人将不得不从这里点击到另一个问题。只有在他们登录的情况下。未登录的用户(绝大多数用户)将自动重定向到重复目标。不幸的是,由于此问题有答案(我可能会补充,不是新答案),因此不会自动重定向。
$("#my_image").one('load', function() {
        // do stuff
        // turn off here        
}).each(function() {
  if(this.complete) {$(this).trigger('load');}
});