JavaScript--自定义事件Event

在开发过程中,js原生事件不足以满意开发需求,需要开发者自定义事件。

一、Event

Event()构造函数创建一个新的Event。

event = new Event(typeArg,eventInit);

typeArg

  事件名称。

eventInit

  这是一个对象,包含以下字段:

  • bubbles:(可选)Boolean指示事件是否冒泡。默认是false

  • cancelable:(可选)a Boolean表示是否可以取消该事件。默认是false

var _event = new Event('eventName', {"bubbles":true, "cancelable":false});

//dispatchEvent派发事件
document.dispatchEvent(_event);

myDom.dispatchEvent(evt);

二、事件逻辑

自定义的事件可以绑定到DOM元素上定义事件处理逻辑,然后通过dispatchEvent派发事件。

var _event = new Event('look', {"bubbles":true, "cancelable":false});
    
    document.addEventListener('look', function(){
        console.log('lootEvent_document');
    });

    myDom.addEventListener('look', function(){
        console.log('lootEvent_myDom');
    });

    myDom.dispatchEvent(_event);  //lootEvent_myDom lootEvent_document

    document.dispatchEvent(_event);  //lootEvent_document

因为我们定义的事件是冒泡的,所以在myDom上触发look事件会冒泡到document上去。

 

posted on 2018-06-04 14:56  世界之魂  阅读(765)  评论(0编辑  收藏  举报

导航