使用javascript事件和监听器是非常简单的,比如下面的点击事件相信大家都比较熟悉:

document.getElementById('my-button').addEventListener('click', function(){    console.log('do something awesome!');});

上面的代码将在单击my-button时运行,并且这个单击事件(以及许多其他事件)已经可供我们使用。但是,如果你想创建自己的事件呢?这其实也很简单。

创建自定义事件

为了创建自定义事件,我们可以如下所示:

function create_custom_event(){        var element = document.getElementById('my-button');        element.classList.add('active')        // 创建一个新的自定义事件    var event = new CustomEvent('madeActive');    // 分派元素上的事件    element.dispatchEvent(event);}

上面我们刚刚创建了一个名为madeActive的自定义事件,所以现在在应用程序的任何地方,我们都可以监听这个事件,并在触发该事件时运行一些新功能。

侦听自定义事件

侦听自定义事件将与javascript中的其他事件监听器完全相同。你将addEventListener附加到你的元素并指定你正在监听的事件:

document.getElementById('my-button').addEventListener('madeActive', function(){    console.log('Awesome, my own custom Event!');});

现在,只要触发了madeActive事件(或自定义事件),上面的代码就会运行。

在应用程序中使用自定义事件可以帮助你组织代码并使其更具可读性。它还可以使维护变得更容易,因为你可以在一个地方和监听器正在监听的任何地方触发事件,它可以运行你想要的功能。