如何给元素添加点击事件?

2023-12-09

我想用纯 JavaScript(不使用 jQuery)向这样的元素添加一个点击事件,所以我没有id但是一个类:

<a href="http://example.com/share" class="MyClass">Yummy</a>

如果您没有 id,也没有任何选择器库,并且希望它在较旧的浏览器中工作,那么需要做更多的工作。如果你能在上面加上一个id,那就很简单了。如果没有,则需要更多代码:

var links = document.getElementsByClassName("MyClass");
links[0].onclick = function() {
    // put your click handling code here
    // return(false) if you don't want default click behavior for the link
}

Since getElementsByClassName在旧版浏览器中并不普遍可用,如果不存在,您将需要一个填充程序来实现它。或者,您可以通过以下方式获取文档中的所有链接:

var links = document.getElementsByTagName("a");

然后循环浏览该列表,直到找到所需的列表(也许检查类名)。

如果您可以在链接上添加 ID:

<a href="http://braza.com/share" id="specialLink" class="MyClass" >Yummy</a>

然后,只需要这段代码:

document.getElementById("specialLink").onclick = function() {
    // add code here
}

如果您打算定期执行此操作,则添加事件侦听器比使用 onclick 属性更具可扩展性,但如果您没有任何框架,则需要一个用于添加处理旧版本的事件侦听器的函数IE 的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何给元素添加点击事件? 的相关文章

  • 网站 YouTube 嵌入视频不断播放

    我正在使用 youtube 提供的 iframe 在我的网站上嵌入视频 我还使用了一个 css 弹出窗口 这是我从这个页面学到的http www pat burt com web development how to do a css po
  • 如何在ASP.NET Webform中使用Jquery表单插件?

    我遇到了这个插件 http malsup com jquery form getting started http malsup com jquery form getting started 我想知道如何在 ASP NET WebForm
  • 在网页上的文本框中键入内容时删除所有空格

    我如何在用户打字时即时删除输入到文本框中的空格 function var txt myTextbox var func function txt val txt val replace s g txt keyup func blur fun
  • Jquery从下拉列表中获取所选值的id

    我有一个下拉列表 可以从数据库获取值 如下所示 get getJobs function jobs seljobs jobs var i 0 jobs forEach function n alert job id n id 32 67 4
  • 使用 moment.js 检查输入日期是否为星期一

    好吧 我想检查日期是否是星期一 例如 var myDate new Date moment myDate DD MM YYYY dayIs monday 在我的国家 一周的第一天是星期一 所以 我真的想检查输入日期是否是一周的开始 我尝试使
  • 如何使用canvas.toDataURL()将画布保存为图像?

    我目前正在构建一个 HTML5 Web 应用程序 Phonegap 本机应用程序 我似乎不知道如何将画布保存为图像canvas toDataURL 有人可以帮我吗 这是代码 有什么问题吗 我的画布被命名为 canvasSignature J
  • 如何使用 jest 模拟第三方库

    我正在开发一个node js应用程序使用nestjs我有一堂课叫LoggerService如下 export class LoggerService private logger Rollbar constructor this logge
  • Ember.js 处理 View 事件后转换到路由

    Setup 我有一个 Ember 应用程序 支持使用 Imgur API 上传图像 我已经有一个工作路线和模板来处理任何 Imgur ID 但我想在上传新图像后转换到此路线 使用返回的 Imgur ID 这是该应用程序的相关部分 http
  • jquery window.open 在 ajax 成功中被阻止

    尝试在我的 ajax 成功调用中打开一个新的浏览器窗口 但是 它被阻止为弹出窗口 我做了一些搜索 发现用户事件需要绑定到 window open 才能避免这种情况发生 我还找到了这个解决方案 您可以在 ajax 之前打开一个空白窗口 然后在
  • Node.js - console.log 不显示数组中的项目,而是显示 [Object]

    我在注销对象内数组的内容时遇到问题 实际的物体看起来像这样 var stuff accepted item1 item2 rejected response Foo envelope from The sender to new item1
  • 在为 RXJS 可观察量编写测试时,如何避免让调度程序通过我的业务逻辑?

    我发现使某些测试通过的唯一方法是显式地将调度程序传递给函数 为了便于说明 请考虑以下函数 function doStuff stream return stream delay 100 filter x gt x 2 0 map x gt
  • 通过 node-http-proxy 保留基于 cookie 的会话

    我有一个简单的基于 Express 的 Node js Web 服务器 用于开发 JavaScript 应用程序 我将服务器设置为使用 node http proxy 来代理应用程序向在不同域和端口上运行的 Jetty 服务器发出的 API
  • JavaScript 中数组的 HTML 数据列表值

    我有一个简单的程序 它必须从服务器上的文本文件中获取值 然后将数据列表填充为输入文本字段中的选择 为此 我想要采取的第一步是我想知道如何动态地将 JavaScript 数组用作数据列表选项 我的代码是
  • 在d3.js中将2D形状转换为3D,并根据ANGULAR中的值调整高度

    我正在使用 d3 js v6 创建以下 2D 图表表示的 3D 图表 这个圆圈中有多个正方形 每个正方形都根据值分配了一种颜色 值越大 正方形越暗 现在我想将其转换为 3D 形状 其中当值变高时 只有特定正方形的高度会增加 因此结果在某种程
  • 如何使JavaScript函数在Eclipse“大纲视图”中可见?

    我有这样的代码 但如果它在匿名函数中定义 则无法打开函数大纲 类没有问题 我该如何概述something2 请分享一些提示 我可以将所有函数标记为构造函数 但这是无效的方法 start of track event required deb
  • JS用正则表达式替换数字

    我有元素的标识符 如下所示 form book 1 2 3 我想要的是用其他值替换该标识符中的第二个数字 我将函数 match 与以下正则表达式一起使用 var regexp d d d 但它返回我包含的数组 1 2 3 2 因此 当我尝试
  • IE11不监听MSFullscreenChange事件

    我正在尝试使用 Bigscreen js 在 IE11 中使用全屏 但 IE11 不监听 MS FullscreenChange 事件 document addEventListener MSFullscreenChange functio
  • Nodejs mysql 获取正确的时间戳格式

    我在用着mysqljs https github com mysqljs mysql得到结果后sql我变得不同TimeStamp格式如下 created at Sat Jul 16 2016 23 52 54 GMT 0430 IRDT 但
  • 需要有关 React Js 的帮助

    我是 React Js 新手 我的代码无法正常工作 请看下面 这是我的脚本文件Main jsx 该文件由 React 编译 输出放置在 dist 文件夹下的 main js 文件中 var react require react react
  • 如何在打字稿文件中导入没有定义文件的js库

    随着我们的项目变得越来越大 我想从 JavaScript 切换到 TypeScript 以帮助进行代码管理 然而 我们使用许多库作为 amd 模块 我们不想将其转换为 TypeScript 我们仍然想将它们导入 TypeScript 文件

随机推荐

  • 运行时 GPU 执行还是 CPU 执行?

    我觉得必须有一种方法来编写代码 使其可以在 CPU 或 GPU 中运行 也就是说 我想编写一些具有 例如 CPU FFT 实现的东西 如果没有 GPU 该实现可以执行 但当 GPU 存在时默认为 GPU FFT 我无法提出正确的问题来让互联
  • 我的 JavaScript 代码只打印一行。我需要它打印 10 行,每行 20 个字符。

    这是一个抛硬币随机发生器 我需要打印 10 行 20 列 这就是我被困住的地方 每次我单击按钮时 我的代码似乎都会正确随机化 它显示 20 列 但我似乎无法让它打印第二行 这可能是一些简单的事情 我只是没有抓住 任何事情都会受到赞赏 Jav
  • 确定 viewWillAppear 是来自打开应用程序,还是取消选择模式

    我目前正在初始屏幕上加载应用程序加载数据 在我看来这会发生 我还有一个在此屏幕上弹出的模式 关闭时执行与 viewWillAppear 中加载数据相同的逻辑 如何仅在应用程序打开时加载数据 而不是在模式关闭时加载数据 UIViewContr
  • std::vector 中的数据存储是连续的吗? [复制]

    这个问题在这里已经有答案了 我有一个字符向量 我想将其内容作为 char 传递给另一个函数 void foo boost shared ptr
  • 难以理解/可视化 SICP 流汉明数程序

    我基本上陷入了 SICP 练习 3 56 的困境 问题是这样的 练习3 56 R Hamming 首先提出的一个著名问题是 按升序且不重复地枚举除 2 3 或 5 之外没有质因数的所有正整数 一种明显的方法是简单地测试每个整数反过来看看它是
  • 制作一个循环来形成一个列表?

    def make services routes data routes curr route x split routes routes data service data1 x 1 106 106 1 1 43009 106 2 51
  • C# 将列表与自定义对象进行比较但忽略顺序

    我正在尝试比较两个包含自定义对象的列表 包装在一个对象中 我不关心顺序 但如果列表 1 包含 1 2 3 4 那么列表 2 必须and only包含这些元素 例如 4 2 3 1 基于比较两个 List 对象是否相等 忽略顺序ignorin
  • 如何在 PHP 中实时实现 For 循环

    我想制作一个实时给出结果的脚本 在我的脚本中它有 3 个步骤 第一步是从网页中获取所有链接 我使用 pregmatch all 函数 因为我需要的所有链接都以相同的域开始http example com docs 并从中抓取http tes
  • Windows 中的 64 位和 32 位注册表问题(C# 编程)

    我正在尝试将数据从 Windows 注册表获取到我的软件 但有一件事我遇到了麻烦 如果我的软件在 64 位系统上运行 则注册表路径将为 HKEY LOCAL MACHINE SOFTWARE Wow6432Node AVAST Softwa
  • 将 BigQuery 脚本的结果返回到 Python 客户端

    截至 2019 年秋季 BigQuery 支持脚本编写 这太棒了 我不明白的是BigQuery 的 Python 客户端尚有能力利用这一新功能 例如 运行以下 Python 代码 client bigquery Client QUERY B
  • EF Core,按 UTC 日期的月份和年份分组

    我将所有日期存储为 UTC 并且我需要按月份和年份对实体进行分组 所以我正在这样做 dbContext Tickets Where x gt x Date gt from x Date lt to GroupBy x gt new Year
  • TableView 单元格中 TextView 的可变高度

    我有一个基本的UITableView 我在线填写了一个网络服务 但我找不到一种方法来根据我的高度设置单元格的高度 动态单元格数量 textView 这是我填写单元格的方式 UITextView textView UITextView cel
  • PHP/jQuery - 如何将多维 PHP 数组转换为 JSON 字符串?

    正如标题所述 我正在尝试使用 Bootstrap 的 Typeahead js 它需要像这样的 JSON 字符串 var subjects PHP MySQL SQL PostgreSQL HTML CSS HTML5 CSS3 JSON
  • 如何让图表内容区域占据其可用的最大区域?

    非常简单的问题 如何让图表内容区域占据其可用的最大区域 我正在使用 JavaFX 就我而言 我想要有许多基于 true false 的 AreaChartsyAxis 0 1 不幸的是 我找不到如何使用类似方法更改这些图表的内容高度的解决方
  • 如何使用 Maven 将 JavaFX 项目部署到 EXE?

    我希望这个问题看起来并不基础 但尽管研究了几个小时 我还是找不到任何好的文档 我将 Maven 版本 3 3 9 用于我的 JavaFX 版本 11 0 2 和 JDK 13 0 1 项目 并想要构建一个 EXE 做到这一点最简单的方法是什
  • 如何使用java代码获取USB驱动器序列号或元数据

    我用java准备了一个桌面应用程序 我想通过 Pendrive 或任何其他 USB 驱动器来保护它 但我不知道如何使用java代码读取pendrive或usb驱动器 这样我就可以限制应用程序 请帮助我该怎么做 或者对此有其他想法吗 谢谢 就
  • 我可以像“delete[]”那样获取动态分配数组的大小吗?

    我想知道如何delete 知道动态分配数组的大小 并且我发现this问题 还有this微软论坛上的问题 但答案是相似的 事实证明answer is 它通常存储在您分配的内存之前的 头 段中 因此 确切的细节是特定于实现的 在该答案下 其中一
  • 如何使textview文本链接可点击

    Android Studio 2 3 1 我正在尝试创建一些不是 Web 或 html 的文本 而只是一些普通文本 我希望这些文本看起来像一个 Web 链接 单击时可以单击 正文是这样的 Contains 3 reviews 我想让它看起来
  • 将 null 绑定到准备好的语句时发生 Postgres bytea 错误

    我正在使用一个使用 JPA 和 Postgres 数据库的 Java 应用程序 并且我正在尝试创建一个灵活的准备好的语句 它可以处理可变数量的输入参数 一个示例查询可以最好地解释这一点 SELECT FROM my table WHERE
  • 如何给元素添加点击事件?

    我想用纯 JavaScript 不使用 jQuery 向这样的元素添加一个点击事件 所以我没有id但是一个类 a href http example com share class MyClass Yummy a 如果您没有 id 也没有任