Javascript 的点击

标签 javascript onclick

我有这样的代码

<a id='lnk1' onclick='do something' >test</a>

稍后将代码添加到相同的 anchor 标记中

lnk = document.getElementById('lnk1')
lnk.onclick = function() { do something}

现在发生的事情是,在第二段代码中, anchor 标记的 onclick 函数被覆盖了。相反,我想要发生的是运行第一个 onclick 的代码,然后运行第二个 onclick 的代码。

最佳答案

有一种非常简单且符合标准的方法可以做到这一点:

lnk1.addEventListener('click', function() {
    // do something
});

这在版本 9 之前的 IE 中不起作用,因此您需要这样做:

var handler = function() {
    // do something
};

if ("addEventListener" in lnk1) { // standards-compliant browsers
    lnk1.addEventListener('click', handler);
} else { // Internet Explorer < v9
    lnk1.attachEvent('onclick', handler);
}

这会起作用,HTML 属性和上面代码中指定的原始函数都会运行。 但是 最好在同一个地方定义所有事件处理程序:在 Javascript 中。认真考虑从 HTML 属性中删除事件处理逻辑。

关于Javascript 的点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7416896/

相关文章:

javascript - 在不使用全局变量的情况下计算按钮被单击的次数

javascript - 创建 extjs 存储数据记录失败

javascript - cookies 的替代品

vue.js - VueJS 在 <option> 元素上使用 @click 并在 <select> 元素上使用 @change

java - 无法执行 android :onClick ERROR 的方法

java - 如何检查是否在其 onClick 方法中检查了 android 复选框(在 XML 中声明)?

javascript - 使用 php 在 onclick 事件中提供变量

javascript - 从用户上传的 svg 获取路径标记的最简单方法?

javascript - 使用 Perl 解析 JavaScript : getting "undef" from JE->parse

javascript - 文本框焦点在使用 JavaScript 和 PhoneGap 的 Android 设备中不起作用