Всегда ли работает jQuery.on("click") до срабатывания <a>href?
$("a").on("click", function (e) {
doSomething();
});
...
<a href="#" onclick="location.href='http://website.com'; return false;">My Link</a>
Будет ли doSomething()
всегда запускаться до "href" в каждом браузере?
Ответы
Ответ 1
Да, ваш обработчик будет работать всегда первым. Это позволяет вам, например, отменить поведение по умолчанию (перейдите к href url) при необходимости
$("a").on("click", function (e) {
e.preventDefault(); // --> if this handle didn't run first, this wouldn't work
doSomething();
});
Ответ 2
Да, да. Если вы не хотите, чтобы href запускался, вы можете вызвать e.preventDefault();
, и браузер не будет следовать ссылке.