我正在寻找有关事件对象的事件规范化的良好资源。我想自己做,但我总觉得我会错过一些东西。
这是我到目前为止所掌握的,如果我错过了什么,请告诉我。
var eFix = function(e) {
e = e || window.event;
e.target = e.target || e.srcElement;
e.offsetX = e.offsetX || e.layerX;
e.offsetY = e.offsetY || e.layerY;
e.relatedTarget = e.relatedTarget ||
e.type == 'mouseover' ? e.fromElement : e.toElement;
e.target = e.target || e.srcElement;
if (target.nodeType === 3) target = target.parentNode; //Safari bug
return e;
};
有人见过完整的标准化函数吗?我错过了什么吗?
(不用说我们要使用 W3C 模型而不是 IE)
您的代码还有另一个问题:
e.layerX
仅适用于定位元素,因此至少您需要向元素添加“position:relative”才能发挥作用。第二e.offsetX
仅适用于IE8及更高版本,所以你应该避免以任何一种方式使用它(虽然我现在正在使用它们,但这只需要在特定的浏览器中工作)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)