javascript - 不同对象上的事件监听器
问题描述
什么是编写此代码的更好方法,我觉得我应该能够以较少硬编码的方式引用目标。是否可以将实际对象添加到变量中,如果可以,我如何测试/验证添加事件的位置?
var o="window"; // or "document" or "body" or maybe some at the moment unknown elements id
if(o=="window"){
window.addEventListener();
}
else if(o=="document"){
window.document.addEventListener();
}
else if(o=="body"){
window.document.body.addEventListener();
}
解决方案
你可以这样做
const elementX =
{ 'window' : window
, 'document' : window.document
, 'body' : window.document.body
}
var o="window";
elementX[o].addEventListener( ... );
推荐阅读
- safari - Safari 12 在重定向 302 的情况下不缓存大资产,如果直接添加到页面中它可以正常工作吗?
- .net - 从 Postman 将用户添加到 Keyclock
- android - Android从FrameLayout获取孩子
- angular - 如何在没有 ngOnInit() 的情况下在 Angular 中显示数据?
- glassfish-3 - glassfish 3 和 glassfish 4 可以在同一台机器上一起工作,但用于 2 个不同的项目
- c - pgbouncer-rr 在查询重写中失败
- ruby - 什么是 Ruby one-liner 相当于 awk 的 RS、NF 和 OFS?
- javascript - 为什么我的 Javascript 鼠标悬停事件在我的 WordPress 网站上不起作用?
- bash - 我可以在我的 Bash 脚本中获取围绕参数的原始引号字符吗?
- javascript - HTML5 视频时间更新事件在 chrome 中的其他选项卡上没有触发