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.com/en-us/library/ie/ms535863 (v=vs.85).aspx 在这里:http: //msdn.microsoft.com/en-us/library /ie/ms534638(v=vs.85).aspx

看来我应该可以设置这个属性。关于为什么这是空的任何想法?我错过了一些明显的东西吗?

4

1 回答 1

0

我在这里找到了答案:

无论事件对象中指定的值如何,四个事件属性(cancelBubble、returnValue、srcElement 和 type)的值都会自动初始化为下表中显示的值。

取消气泡 -> 假

返回值 -> 真

srcElement -> 触发事件的元素

type -> 被触发的事件的名称

因此,事件对象的文档似乎不正确。

于 2013-10-13T19:23:07.820 回答