javascript - 如何为属性创建javascript事件监听器

标签 javascript jquery

<分区>

在 jquery 中,我可以使用属性轻松创建事件。这是示例代码。

$('body').on('mouseenter', '[email]', function(){})

我的html标签是这样的。

<span class="zF" email="internal@xyz.com" name="internal">internal</span>

但我没有找到任何解决方案,我该如何使用 javascript 来实现。

有谁知道如何使用 javascript 为属性添加事件监听器?

最佳答案

使用querySelector():

document.querySelector('[email]').addEventListener('mouseenter', doFunction);

document.querySelector(' a[href^="mailto:"]').addEventListener('mouseenter', doFunction);

function doFunction() {
  console.log('hover');
}
<span email="someEmail"> Hover to email </span>
<a href="mailto:somemail@gmail.com"> Hover to href </a>

使用querySelectorAll()

var elem = document.querySelectorAll('[email], a[href^="mailto:"]');
for(var i=0; i<elem.length; i++) {
  elem[i].addEventListener('mouseenter', doFunction);
}

function doFunction() {
  console.log(this.innerHTML);
}
<span email="someEmail"> Hover to email </span>
<a href="mailto:somemail@gmail.com"> Hover to href </a>

关于javascript - 如何为属性创建javascript事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59317542/

相关文章:

javascript - 如何防止网站中笨拙的文本选择行为

javascript - 为什么我在提示时得到 "Cannot set property ' innerHTML' of null”

javascript - 淡出内容区域,但始终保留导航栏/页眉和页脚

php - 在同一个 div 中打开一个 div 内的链接

javascript - JQuery 就绪事件及其快捷方式

javascript - 设置测试 cookie 时出现 Javascript 问题

jquery - 如何延迟函数的执行 - jQuery

c# - 带有 jquery 的 gridview asp.net 中选定行的标签

JQuery Flippy 插件未在点击事件上触发

javascript - 选择后使 <select> 对象保持展开状态