在IE中设置srcElement的结果为null

问题描述 投票:1回答:1

由于我没有时间讨论的原因,我正在为IE 8(仅)编码,需要使用 element.fireEvent('eventname', eventObject) 方法。这是我的代码。

var divObj = document.getElementById('div_id');
var evObj = document.createEventObject();
evObj.x = 0; evObj.y = 0;
evObj.srcElement = divObj;
evObj.type = 'onmousedown';
divObj.fireEvent('onmousedown', evObj);

当我设置了一个断点,并观察到了 evObj.srcElement,它是空的。其他的属性都是按照写的内容填充的。

我检查了这里。http:/msdn.microsoft.comen-uslibraryiems535863(v=vs.85).aspx。还有这里。http:/msdn.microsoft.comen-uslibraryiems534638(v=vs.85).aspx。

似乎我应该可以设置这个属性。有什么想法,为什么这个属性是空的?我是不是漏掉了什么明显的东西?

javascript internet-explorer internet-explorer-8 dom-events
1个回答
0
投票

我找到了答案 此处:

无论在事件对象中指定了什么值,四个事件属性--cancelBubble、returnValue、srcElement和type的值都会自动初始化为下表所示的值。

cancelBubble -> false

returnValue -> true

srcElement -> 触发事件的元素。

type -> 被触发的事件名称

因此,看来事件对象的文档是不正确的。

© www.soinside.com 2019 - 2024. All rights reserved.