IE/Firefox/W3C浏览器代码触发事件

  firefox或者w3c浏览器没有直接在DOM中添加onclick事件,而是通过addEventListener添加事件时,无法使用 DOMObject.onclick()使用这种方法触发事件,但是可以通过dispatchEvent来触发。

  测试代码如下

<div id="dvEvt">div的内容</div>
<input type="button" value="触发事件" onclick="btnFireEvent()" />
<script type="text/javascript">
    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);
        }
    }
</script> 



  其中firefox/w3c中event的定义参考下面的文章

Document Object Model Events

加支付宝好友偷能量挖...


原创文章,转载请注明出处:IE/Firefox/W3C浏览器代码触发事件

评论(0)Web开发网
阅读(273)喜欢(0)JavaScript/Ajax开发技巧