Почему в видеоуроке от mail.ru написано $('a').click(function() {alert('lalala'); return false;}); и при нажатии на ссылку выскакивает alert и после нажатия на ок не пропускает дальше пользователя, при повторном нажатии на ссылку выскакивает alert
А в моем коде <div class="header__list_raw" onclick="userIsntLogged ();"></div>
js
function userIsntLogged () {
alert('Для начала войдите на сайт');
return false;
}
При нажатии на ссылку открывает alert после нажатия на ок переходит на ссылку, при повторном нажатии на ссылку alert не выскакивает, пока не обновишь страницу
Проблема в том, что вы по разному устанавливаете обработчик события.
$('a').click(function() {alert('lalala'); return false;});
<div class="header__list_raw" onclick="userIsntLogged ();"></div>
В первом случае вешается обработчик события на клик по ссылке и внутри возвращается false дабы остановить всплытие и поведение по умолчанию. У вас же при клике выполняется функция, которая тоже возвращает false, но есть одно НО
Ваш код js выполняет примерно вот так
<div onclick="function(event) { userIsntLogged (); }">
</div>
То есть на самом деле js оборачивает ваш код в функцию. Что бы работало, нужно что бы именно эта "нативная" ф-ция возвращала false
<div onclick="userIsntLogged (); return false">
</div>
// либо
<div onclick="return userIsntLogged ();">
</div>
P.S.
Возвращать false уже не модно, это слишком неявный способ, потому что кроме отмены действия по умолчанию он еще и останавливает всплытие. Используйте лучше stopPropogation, preventDefault
<div onclick="userIsntLogged (event);">
</div>
function userIsntLogged (e) {
e.stopPropagation(); // отменяем всплытие
e.preventDefault(); // отменяем действие по умолчанию
alert('Для начала войдите на сайт');
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости