Как я могу отменить действие ссылки? - PullRequest
2 голосов
/ 22 апреля 2010

Я, хотя и возвращает false, было бы достаточно, чтобы отменить действие ссылки, но, очевидно, это не так. Когда я нажимаю на ссылку в коде ниже, я получаю сообщение «click», которое ожидается. Но я тоже попадаю на google.com, что неожиданно.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <title>Link test</title>
    <script>
        window.addEventListener('load', function () {
            document.getElementsByTagName('a')[0].addEventListener('click', function () {
                alert('click');
                return false;
            }, false);
        }, false);
    </script>
</head>
<body>
    <a href="http://www.google.com">google</a>
</body>
</html>

Как сделать так, чтобы URL НЕ менялся при нажатии на ссылку? Только чистые решения JavaScript, пожалуйста, никаких дополнительных библиотек (например, jQuery). Он должен работать только в FireFox 3+ и Chrome.

1 Ответ

1 голос
/ 22 апреля 2010

Если вы не хотите, чтобы URL на якоре изменил местоположение, вы можете попробовать следующее

document.getElementsByTagName('a')[0].addEventListener('click', function (e) {
            alert('click');
            e=e¦¦event; 
            e.preventDefault? e.preventDefault() : e.returnValue = false; 
        }, false);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...