javascript - 首次使用后仅关闭特定的 jQuery 侦听器
问题描述
使用一次后如何删除特定的侦听器?在这种情况下,它是一个负载监听器。
$("#my_image").on('load', function() {
// do stuff
// turn off here
}).each(function() {
if(this.complete) {$(this).trigger('load');}
});
我不想删除可能附加到同一元素的任何其他侦听器。我看到的其他问题删除了附加到元素的所有侦听器。
解决方案
您可以使用一种方法:
$("#my_image").one('load', function() {
// do stuff
// turn off here
}).each(function() {
if(this.complete) {$(this).trigger('load');}
});
从文档:
将处理程序附加到元素的事件。每个事件类型的每个元素最多执行一次处理程序。.one() 方法与 .on() 方法相同,只是给定元素和事件类型的处理程序在第一次调用后是未绑定的。
推荐阅读
- reactjs - 从双 svg d 路径创建自定义反应材料 ui 图标
- firemonkey - firemonkey中的java path.quadto等于什么?
- css - 如何为点制作边框(CSS)
- powershell - Powershell - 从大型文本文件创建哈希表并进行搜索
- opencv - 识别 OpenCV VideoCapture 的 read() 使用的解码器
- python - 使用清单将形状添加到 Plotly Graph
- java - 如何通过 REST API 获取 firebase 配置的默认值和条件值?
- php - CodeIgniter:如何使用活动记录将一个列值移动到另一个具有 Where 条件的值
- excel - 如何将 HLookup 结果与“”进行比较?
- python - 如何在 Python 中实现连接权重产品模型可解释性方法?