我试过这样做,但似乎没有用:
window.onload = initAll;
function initAll(){
document.getElementsByTagName('a').onclick = clickHandler;
}
function clickHandler(){
if(this.toString().indexOf("localhost") < 0) {
confirmation = confirm("You are now leaving http://soso.com. Please click 'ok' to continue to this site, or 'cancel' to stay in http://soso.com");
if (confirmation == false){
return false;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我知道我可以getElementById并且这样可行,但它不会这样工作.任何帮助,将不胜感激.
谢谢!
document.getElementsByTagName('a')返回DOM元素的NodeList.所以对于初学者来说,你将不得不迭代它们并将处理程序附加到每个像这样:
var links = document.getElementsByTagName('a');
for( var i=0,il = links.length; i< il; i ++ ){
links[i].onclick = clickHandler;
}
Run Code Online (Sandbox Code Playgroud)
如果有很多元素,我建议您阅读有关事件委托的内容,并为所有内容分配一个处理程序.
您需要迭代返回的所有元素document.getElementsByTagName
var links = document.getElementsByTagName('a');
var i = links.length;
while ( i-- ) {
links[i].onclick = clickHandler;
}
// ... rest of your code ...
Run Code Online (Sandbox Code Playgroud)