jquery - 如何在jQuery中将事件分配给变量
问题描述
在不使用任何已弃用的东西(即:).bind()
的情况下,有没有办法将事件分配给变量,以便我们以后可以关闭该确切事件?例如,如果我们有:
$(window).on('resize', function() {
alert('Hello!');
});
我们可以稍后从该事件中定位函数调用并将其从调整大小事件中删除吗?我们可能还有其他 $(window).on('resize') 调用,但我不想在这些事件上停用这些函数调用。
如果我们这样做了$(window).off('resize');
,那将为所有人关闭该事件。
解决方案
您可以命名该函数,然后在 vanilla JS 中引用它
var myCallable = function() { alert(“Hello World”); }
// add the event listener
window.addEventListener(‘resize’, myCallable);
window.addEventListener(‘resize’, function() {
alert(“this call won’t be removed”);
});
// remove it later on...
window.removeEventListener(‘resize’, myCallable);
这只会删除该特定的函数调用,因为您直接引用它
注意:请原谅标点符号,我是在 iPhone 上输入的
推荐阅读
- javascript - 在更改窗口大小时调整包含文本的 div
- python - 新选择后在下拉菜单 tkinter 中保留标记
- mongodb - 使用树结构在 MongoDb 中获取祖先
- reactjs - 在 React/Redux 中重新渲染后保持 Scroll-y
- ios - [Firebase/Core][I-COR000003] 尚未配置默认 Firebase 应用
- django - django.core.cache.backends.base.InvalidCacheBackendError:找不到后端“django_redis.cache.RedisCache”:无法导入名称“六”
- go - 为什么`go build` 可以使用“+compatible”依赖,但`go list -m all` 却不行?
- reactjs - 无法在反应中添加图像出现错误错误:使用要求时找不到模块'./undefined'
- angular - ionic:连续打印每张照片
- python - 无法将多个csv文件导入pandas并在Python中连接到一个DataFrame