Сообщение от 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) //перехода не будет, отменено
})
Ну или опять не понял "условностей" и в чем проблема.