由于我没有时间讨论的原因,我正在为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。
似乎我应该可以设置这个属性。有什么想法,为什么这个属性是空的?我是不是漏掉了什么明显的东西?
我找到了答案 此处:
无论在事件对象中指定了什么值,四个事件属性--cancelBubble、returnValue、srcElement和type的值都会自动初始化为下表所示的值。
cancelBubble -> false
returnValue -> true
srcElement -> 触发事件的元素。
type -> 被触发的事件名称
因此,看来事件对象的文档是不正确的。