JavaScript事件委托实现原理与代码示例

作者:交互手记时间:2026-10-29 10:19:02浏览:87

本文介绍了JavaScript中事件委托的用法,通过封装addEvent和delegateEvent函数,实现了在父元素上监听子元素事件的功能。代码兼容addEventListener和attachEvent,适用于IE8+及现代浏览器,有助于优化DOM性能。

JavaScript事件委托实现原理与代码示例

本文通过具体实例解析JavaScript中事件委托的应用方式,旨在为开发者提供实用的参考方案。


var addEvent = function (elem, eventType, func) {
 if ( elem.addEventListener )
  addEvent = function (elem, eventType, func) {
   elem.addEventListener(eventType, func, false);
  };
 else if ( elem.attachEvent )
  addEvent = function (elem, eventType, func) {
   elem.attachEvent('on' + eventType, func);
  };
 addEvent(elem, eventType, func);
};
var delegateEvent = function (elem, childElems, eventType, func, args) {
 addEvent(elem, eventType, function (e) {
  var evt = e || window.event;
  var elem = evt.target || evt.srcElement;
  if ( elem.nodeName.toLowerCase() == childElems.toLowerCase() ) {
   func(elem, args);
  }
 });
};

希望上述关于JavaScript程序设计的内容能对大家有所帮助。

作者最新文章