Показать сообщение отдельно
  #4 (permalink)  
Старый 24.02.2018, 17:35
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от BNB
отменяет также и все стандартные действия браузера события (onclick в моем случае)
OnClick, это событие, а не стандартное действие браузера. Стандартным будет, например, отправление формы, переход по ссылке, которые и можно отменить посредством preventDefault. А а всплытие события это не запретит.

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<div id="a">
    <a href="a">aaa</a>
    <div id="b">
        <a href="b"><input type="checkbox" /></a>
    </div>
</div>

<a id="as" href="c"><input type="checkbox" /></a>
<script>
$('#a a').click(function(e) {
    alert(1) //и будет переход
});

$('#b a').click(function(e) {
    e.preventDefault();
    alert(2) //перехода не будет, отменено, будут выведены оба сообщения 
})
</script>

$('#as').click(function(e) {
    e.preventDefault(); 
    alert(3) //перехода не будет, отменено
})


Ну или опять не понял "условностей" и в чем проблема.
Ответить с цитированием