2014-02-28 35 views

回答

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; 
} 
+0

'document.getElementsByTagName(“a”) '返回代码中使用的'a'标签列表。所以你必须迭代它。 – Praveen

+0

我在完成之前意外地提交了提交。该帖子已被编辑。谢谢! – mayabelle

+0

这可能是竞争对手大声笑 – tnanoba

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说。 :)

+0

如果您打算推荐'.addEventListener'(当然比'.onclick'好),值得一提的是可能需要'.attachEvent'来满足浏览器的兼容性。无论如何,尽管 – SmokeyPHP

+0

啊,你说得对。我在想,querySelectorAll是IE 9及更高版本,但它看起来像IE 8支持这个特定的查询,并且那里也需要attachEvent。 – jxpx777