使用JavaScript和警报禁用HTML链接

时间:2013-10-03 18:54:12

标签: javascript html anchor hyperlink

这是我的代码:

    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”属性来实现此目的,但我需要知道如何在不更改该部分的情况下执行此操作。

3 个答案:

答案 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);