首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript:在onlick事件定义后添加

JavaScript:在onlick事件定义后添加
EN

Stack Overflow用户
提问于 2019-08-02 12:16:11
回答 1查看 60关注 0票数 3

我有一个html元素,它在创建时定义了一个onClick()事件。由于代码中后面发生的事件,我需要添加而不是替换那个` `onClick()‘事件。

我正在处理的项目中的HTML元素是用hyperscript创建的。

在创建元素的文件中:

代码语言:javascript
复制
            h('a.block-current',
            {
              onclick: ev => {
                this.clickResult();
              },
            },
            resultNode,
          ),

在另一个文件中,有一个控制用户创建幻灯片的变量。但是,有多个项的类名都是a.block,我希望变量update应用于所有这些项。

我已经尝试了以下代码:

代码语言:javascript
复制
const results = document.querySelectorAll('a.block');
results.onClick() {
   ....
}

但它会覆盖先前定义的onClick事件

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-02 12:17:58

您可以使用addEventListener来实现所需的功能,如下所示:

代码语言:javascript
复制
const results = document.querySelectorAll('a.block');

/* Iterate nodes of "results" NodeList */
for(let result of results) {

    /* Add a new click handler to the current node in the selected node list */
    result.addEventListner('click', function(event) {

      console.log('New event listener added');
    });
}

这个添加事件处理程序的方法就是这样做的-它将一个新的处理程序添加到指定类型(即click)的事件中,允许您在特定元素上拥有一个或多个特定类型的事件处理程序。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57319864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档