firefox或者w3c浏览器没有直接在DOM中添加onclick事件,而是通过addEventListener添加事件时,无法使用 DOMObject.onclick()使用这种方法触发事件,但是可以通过dispatchEvent来触发。
测试代码如下
var dv;
window.onload = function () {
dv = document.getElementById('dvEvt');
if (dv.addEventListener) dv.addEventListener('click', function () { alert(dv.innerHTML); }, true);
else dv.attachEvent('onclick', function () { alert(dv.innerHTML); });
}
function btnFireEvent() {
if (dv.fireEvent)//IE
dv.fireEvent('onclick');
else {//W3C
var oEvt = document.createEvent('MouseEvents');
oEvt.initMouseEvent('click', true, true, window, 1, 1, 1, 1, 1, false, false, false, false, 0, dv);
dv.dispatchEvent(oEvt);
}
}
其中firefox/w3c中event的定义参考下面的文章
加支付宝好友偷能量挖...
2011-7-11Web开发网