Ответ 1
вернуть false;
return false;
делает 3 отдельные вещи, когда вы это называете:
-
event.preventDefault()
- останавливает поведение браузеров по умолчанию. -
event.stopPropagation()
- Это предотвращает распространение события (или "пузырь" ) DOM. - Остановка выполнения обратного вызова и возврат немедленно при вызове.
Обратите внимание, что это поведение отличается от обычных (не jQuery) обработчиков событий, в которых, в частности, return false
не останавливает событие от пузырьков.
preventDefault();
preventDefault();
делает одно: он останавливает поведение браузеров по умолчанию.
Когда их использовать?
Мы знаем, что они делают, но когда их использовать? Просто это зависит от того, чего вы хотите достичь. Используйте preventDefault();
, если вы хотите "просто" предотвратить поведение браузера по умолчанию. Использовать return false; когда вы хотите предотвратить поведение браузера по умолчанию и предотвратить распространение события DOM. В большинстве ситуаций, когда вы будете использовать return false; вам действительно нужно preventDefault()
.
<сильные > Примеры:
Давайте попробуем разобраться с примерами:
Мы увидим чистый пример JAVASCRIPT
Пример 1:
<div onclick='executeParent()'>
<a href='http://stackoverflow.com' onclick='executeChild()'>Click here to visit stackoverflow.com</a>
</div>
<script>
function executeChild() {
alert('Link Clicked');
}
function executeParent() {
alert('div Clicked');
}
</script>