事件派发dispatchEvent

2019-01-07  本文已影响0人  一颗脑袋

1、什么是dispatchEvent

dispatch意为“调度”、“派遣”,event为“事件”。所以dispatchEvent即向指定事件目标派发一个事件,并以合适的顺序触发受影响的事件目标。

简单来说就是,一般的事件触发都是用户进行某些操作时才会触发,而使用dispatchEvent就可以在代码中手动触发事件了。

下面是一个简单的创建并派发事件的例子:

var event = new Event('click');//创建一个click事件
elem.addEventListener('click', function(e){}, false);//为元素绑定事件监听
elem.dispatchEvent(event);//派发事件
<!DOCTYPE html>
<html>
<head>
    <title>test</title>
</head>
<body>
    <button id="click">Click me!</button>
</body>
    <script type="text/javascript">
        window.onload = function(){
            var btn = document.querySelector('#click');
            btn.addEventListener('click', function(e){
                alert('okk!');
            }, false);
            var event = new Event('click');
            btn.dispatchEvent(event);
        }
    </script>
</html>

2、运用场景

3、总结

事件除了浏览器自动监,我们还可以手动触发事件,也就是使用dispatchEvent

但是我们定义事件的目的就是为了执行某一方法,所以我们手动触发事件的目的其实也是想要执行该事件下影响到的方法。有时候不只是一个方法,且执行顺序也有所区别,这个时候调用方法不如直接触发事件方便,但是方便的同时也会有某些我们不希望触发函数的隐患。

上一篇下一篇

猜你喜欢

热点阅读