jQuery event.stopPropagation не работает на <a> - PullRequest
3 голосов
/ 20 апреля 2010

У меня есть следующий JavaScript:

$('#ge-display').click(function (event) {
  window.open('/googleearth/ge-display.php','','scrollbars=yes,menubar=no,height=650,width=1000,resizable=yes,toolbar=yes,location=no,status=no');
  event.stopPropagation();
  return false;
});

элемент с идентификатором 'ge-display' является стандартной ссылкой:

<a href="/googleearth/ge-display.php" id="ge-display" target="_blank">Load Google Earth Plugin (in a new window)</a>

Проблема в том, что, когда я убираю «return false»; В строке из обработчика событий click открывается всплывающее окно javascript, а затем открывается другое окно браузера - я думал, что stopPropagation () предотвратит ссылки на собственный обработчик нажатий?

Я также попробовал stopImmediatePropagation () - но мне все еще нужно вернуть false, чтобы остановить поведение ссылки по умолчанию.

1 Ответ

16 голосов
/ 20 апреля 2010

Вызов event.stopPropagation() не позволит другим обработчикам событий Javascript обработать это событие. Это не помешает действию браузера по умолчанию.

Вам нужно позвонить event.preventDefault().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...