1、每个函数都是对象,占用内存。内存中的对象越多,性能越差。解决事件处理过多问题的办法是事件委托。
2、事件委托冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件。
实例
<ul id=\"myLinks\"><li id=\"myLi1\">text1</li><li id=\"myLi2\">text2</li><li id=\"myLi3\">text3</li></ul>
Ie9以下浏览器中的事件对象是放在全局中的window.event;
解决兼容性:event = event || window.event
事件委托(就是将事件绑定到父级/爷爷级对象上,通过事件对象的target属性来控制子级对象的改变):
event.target(点击的目标对象)
<!DOCTYPE html><html lang=\"en\"><head><meta charset=\"UTF-8\"><title>Title</title><style>td{width: 100px;height: 100px;border:2px solid red;}</style></head><body><table ><tr><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td></tr></table></body><script>var tab = document.getElementsByTagName(\"table\")[0];tab.onclick = function (event) {//点击子级对象改变颜色event.target.style.backgroundColor = \"black\";}</script></html>
到此这篇关于js事件委托详解的文章就介绍到这了,更多相关js事件委托如何理解内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:
- JavaScript中时间格式化新思路toLocaleString()
- JavaScript中isPrototypeOf函数
- JavaScript原型链详解
- JavaScript组合继承详解
- nuxt.js 多环境变量配置
- JS中for,for…in,for…of和forEach的区别和用法实例
- Javascript使用integrity属性进行安全验证