Отключить HTML-ссылки, используя JavaScript и оповещения

0

Вот мой код:

    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>

Когда я положил это на тест, ссылка не работает (как и ожидалось), но я не получаю окно предупреждения, которое должно сказать "Пожалуйста, нажмите ОК, чтобы продолжить". при нажатии ссылки. Может кто-нибудь дать мне совет, как это исправить? В конечном счете, как только страница загружается и нажимается ссылка, она должна показывать и предупреждать, что говорит: "Пожалуйста, нажмите OK, чтобы продолжить". и ничего не должно произойти. Я знаю, как это сделать, изменив атрибут "href", но мне нужно знать, как это сделать, не изменяя эту часть.

Теги:
hyperlink
anchor

3 ответа

2

Вы не получаете предупреждения, потому что ваш код меняет все обработчики "щелчка", удаляя те, которые закодированы в HTML. Там только одно свойство "onclick" на узлах DOM, поэтому, как только ваш скрипт запускает обработчик, который вызывает "Alert()", заменяется тем, который возвращает false.

1

Вы можете сделать это очень легко с помощью JQuery:

$('a').on('click',function(e){
    e.preventDefault();
    alert('your alert message');
});

вы можете проверить это в этой скрипке: http://jsfiddle.net/kvCwW/

0

Вам нужно добавить e.preventDefault() в обработчик кликов:

anchors[i].addEventListener("click", function(e) {
    e.preventDefault();
    return false;
}, false);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню