这是我的代码:
function Alert()
{
alert("Please click on OK to continue.")
}
window.onload = function()
{
var anchors = document.getElementsByTagName("a");
for (var i = 0; i < anchors.length; i++) {
anchors[i].onclick = function() {return(false);};
}
};
链接的编码如下:
<a href="main.html" onclick="Alert()"> Link to Main Page</a>
当我对此进行测试时,该链接不起作用(如预期的那样),但我没有得到应该说“请点击确定继续”的警告框。点击链接时。有人可以就如何解决这个问题给我建议吗?最终,一旦页面加载并点击了链接,它就会显示并提示“请点击”确定继续“。什么都不应该发生我知道如何通过更改“href”属性来实现此目的,但我需要知道如何在不更改该部分的情况下执行此操作。
答案 0 :(得分:2)
您没有收到警报,因为您的代码更改了所有“点击”处理程序,删除了以HTML编码的代码。所涉及的DOM节点上只有一个“onclick”属性,因此只要脚本运行,调用“Alert()”的处理程序就会被刚刚返回false
的处理程序替换。
答案 1 :(得分:1)
使用JQuery可以轻松完成:
$('a').on('click',function(e){
e.preventDefault();
alert('your alert message');
});
你可以用这个小提琴来测试它:http://jsfiddle.net/kvCwW/
答案 2 :(得分:0)
您需要将e.preventDefault()
添加到点击处理程序:
anchors[i].addEventListener("click", function(e) {
e.preventDefault();
return false;
}, false);