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

时间:2018-10-03 22:29:07

标签: javascript jquery

使用特定的侦听器后,如何删除它?在这种情况下,它是一个加载侦听器。

$("#my_image").on('load', function() {
        // do stuff
        // turn off here        
}).each(function() {
  if(this.complete) {$(this).trigger('load');}
});

我不想删除可能附加到同一元素的任何其他侦听器。我看到的其他问题将删除附加到该元素的所有侦听器。

1 个答案:

答案 0 :(得分:1)

您可以使用one方法:

$("#my_image").one('load', function() {
        // do stuff
        // turn off here        
}).each(function() {
  if(this.complete) {$(this).trigger('load');}
});

从文档中

  

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