意思就是:手动触发事件

我的理解是:类似于jquery中的trigger方法,可以在点击某个dom的时候,触发另一个dom的事件,下面一个我自己尝试的例子:

 <!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<style type="text/css">20 .dom {
width: 300px;
height: 300px;
background: red;
margin: 10px;
}
</style>
</head>
<body>
<div class="dom" id="J_dom1"></div>
<div class="dom" id="J_dom2"></div>
<script type="text/javascript">
var events = new Event('trigger');
document.getElementById('J_dom2').addEventListener('trigger', function () {
console.log(2);
}, false);
document.getElementById('J_dom1').addEventListener('click', function () {
console.log(1);
document.getElementById('J_dom2').dispatchEvent(events);
}, false);
</script>
</body>
</html>

页面运行出布局为:

dispatchEvent相关内容-LMLPHP

上面代码中可以看出,我们为dom1绑定了“click”事件,为dom2绑定了trigger事件,在dom1中的“click”触发的时候,内部程序又会用dispatchEvent触发dom2中的trigger事件,因此在点击dom1时输出结果为:

1
2

以上是我对dispatchEvent的理解,还有很多不足,请多多指出,我会继续努力修改增进!!!

04-26 07:46