Javascript:从事件中获取元素ID

 指尖的烟味让我清醒7758_371 发布于 2023-02-07 11:14

如何获取作为(e)传递的元素的ID?

window.addEventListener('load', function(){

    var tags = document.getElementsByClassName("tag");
    for (i=0; i

我需要在tagClick中获取元素/对象,以便我可以更改其属性

HTML:

请注意,附加事件的元素是div,但是当使用e.srcElement时,ig会给我图像对象.

1 个回答
  • 绑定事件侦听器时addEventListener,会通过this引用绑定事件的元素来调用它.所以,this.id将成为id元素的(如果有的话).

    alert('The id of the element you clicked: ' + this.id);
    

    但你用这一行打破了这个:

    tags[i].addEventListener('mousedown', function(e){ tagClick(e) }, false);
    

    ...因为你在中间放了一个额外的功能,然后tagClick没有设置就打电话this.不需要额外的功能,将其更改为:

    tags[i].addEventListener('mousedown', tagClick, false);
    

    ......所以this不要搞砸了.或者,如果您希望使用额外功能,请确保this使用Function#call以下方法进行维护:

    tags[i].addEventListener('mousedown', function(e){ tagClick.call(this, e) }, false);
    

    ...但是没有理由使用所tagClick显示的功能.

    (标准)事件对象也具有属性target(可能不是您绑定事件的元素,它可能是后代)和currentTarget(它将是您绑定事件的元素).但this如果您使用addEventListener(甚至attachEvent在IE上),则方便可靠.

    2023-02-07 11:17 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有