在Chrome/Firefox中,我可以在一个处理程序中将我的自定义属性附加到事件对象上,并在同一事件的不同处理程序中读取它们,即使事件处理是冒泡的。
但是在IE中我无法做到这一点。当事件冒泡时,我的自定义属性会丢失。您知道是否有任何解决方案或变通方法吗?
以下是该问题的示例:
<div id="div1">
<input type="button" value="Foo" id="button1">
</div>
<script>
function attach(el, event, fn) {
if (el.addEventListener) {
el.addEventListener(event, fn);
} else if (el.attachEvent) {
el.attachEvent('on'+event, fn);
}
}
attach(document.getElementById("button1"), 'click', function (event) {
event.abc = "done";
return true;
});
attach(document.getElementById("div1"), 'click', function (event) {
alert(event.abc);
return true;
});
</script>
event
对象。IE不会将它传递给事件处理程序,它只能通过window.event
获得。首先尝试这个。 - Felix Klingwindow
对象上的属性名称。 - Pointy