如果单击div或点击任何标记,则为Javascript

时间:2014-02-28 17:10:00

标签: javascript

我目前正在使用以下内容来检测是否点击了标识为bar的元素。我想更改它,以便在没有复制函数的情况下点击bar或任何a标记运行此函数。

document.getElementById("bar").onclick = function() {
    //do things...
};

2 个答案:

答案 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说的那样单独定义它。 :)