Вот мой код:
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", но мне нужно знать, как это сделать, не изменяя эту часть.
Вы не получаете предупреждения, потому что ваш код меняет все обработчики "щелчка", удаляя те, которые закодированы в HTML. Там только одно свойство "onclick" на узлах DOM, поэтому, как только ваш скрипт запускает обработчик, который вызывает "Alert()", заменяется тем, который возвращает false
.
Вы можете сделать это очень легко с помощью JQuery:
$('a').on('click',function(e){
e.preventDefault();
alert('your alert message');
});
вы можете проверить это в этой скрипке: http://jsfiddle.net/kvCwW/
Вам нужно добавить e.preventDefault()
в обработчик кликов:
anchors[i].addEventListener("click", function(e) {
e.preventDefault();
return false;
}, false);