use*_*007 9 javascript click onclick dom-events
我想在普通的JavaScript(不使用jQuery)中添加一个click事件到这样的元素,所以我没有id一个类,而是一个类:
<a href="http://example.com/share" class="MyClass">Yummy</a>
Run Code Online (Sandbox Code Playgroud)
jfr*_*d00 10
如果您没有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
}
Run Code Online (Sandbox Code Playgroud)
由于getElementsByClassName在旧版浏览器中并非普遍可用,因此在不存在时需要填充程序来实现它.或者,您可以通过以下方式获取文档中的所有链接:
var links = document.getElementsByTagName("a");
Run Code Online (Sandbox Code Playgroud)
然后循环浏览该列表,直到找到所需的那个(也许检查类名).
如果您可以在链接上添加ID:
<a href="http://braza.com/share" id="specialLink" class="MyClass" >Yummy</a>
Run Code Online (Sandbox Code Playgroud)
然后,它只需要这段代码:
document.getElementById("specialLink").onclick = function() {
// add code here
}
Run Code Online (Sandbox Code Playgroud)
如果您要定期执行此操作,添加事件侦听器比使用onclick属性更具可扩展性,但如果您没有任何框架,则需要一个函数来添加处理旧版本的事件侦听器IE浏览器