您的位置是:网站首页>Javascript编程Javascript编程

如何在Javascript中创建自定义事件?(代码示例)

少儿编程网2020-03-27 14:58:21Javascript编程 人已围观 来源:少儿编程 -用户投稿

简介使用javascript事件和监听器是非常简单的,比如下面的点击事件相信大家都比较熟悉:document.getElementById('my-button').addEventListener('click',function(){console.log('

版权所有:http://wWw.pxcodeS.com

qO9少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

使用JavaScript事件和监听器是非常简单的,比如下面的点击事件相信大家都比较熟悉:qO9少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

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

上面的代码将在单击my-button时运行,并且这个单击事件(以及许多其他事件)已经可供我们使用。但是,如果你想创建自己的事件呢?这其实也很简单。qO9少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

创建自定义事件qO9少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

为了创建自定义事件,我们可以如下所示:qO9少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

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

上面我们刚刚创建了一个名为madeActive的自定义事件,所以现在在应用程序的任何地方,我们都可以监听这个事件,并在触发该事件时运行一些新功能。qO9少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

侦听自定义事件qO9少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

侦听自定义事件将与javascript中的其他事件监听器完全相同。你将addEventListener附加到你的元素并指定你正在监听的事件:qO9少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

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

现在,只要触发了madeActive事件(或自定义事件),上面的代码就会运行。qO9少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

在应用程序中使用自定义事件可以帮助你组织代码并使其更具可读性。它还可以使维护变得更容易,因为你可以在一个地方和监听器正在监听的任何地方触发事件,它可以运行你想要的功能。qO9少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

相关推荐:《javascript教程》qO9少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

本篇文章就是关于Javascript创建自定义事件的相关介绍,希望对需要的朋友有所帮助!qO9少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

以上就是如何在Javascript中创建自定义事件?(代码示例)的详细内容,更多请关注少儿编程网其它相关文章!qO9少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

来源:php中文网qO9少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

版权所有:http://wWw.pxcodeS.com


相关文章:

支持一下 ( )

如何在Javascript中创建自定义事件?(代码示例)

      匿名评论
    • 评论
    人参与,条评论
    如何在Javascript中创建自定义事件?(代码示例)

客服在线

服务时间

周一至周日 9:00-21:00