我目前正在使用以下内容来检测是否点击了标识为bar
的元素。我想更改它,以便在没有复制函数的情况下点击bar
或任何a
标记运行此函数。
document.getElementById("bar").onclick = function() {
//do things...
};
答案 0 :(得分:3)
只需单独定义该功能并为其命名:
function MyFunction() {
// Your function here
}
document.getElementById("bar").onclick = MyFunction;
var links = document.getElementsByTagName("a");
for (var i=0; i < links.length; i++) {
links[i].onclick = MyFunction;
}
答案 1 :(得分:1)
根据您可以定位的浏览器,您可以使用
var nodes = document.querySelectorAll("#bar, a");
for (var i=0, ii=nodes.length; i < ii; i++) {
nodes[i].addEventListener('click', function multiElementClickHandler(event){ alert("clicked " + event.target); });
}
否则,像@mayabelle说的那样单独定义它。 :)