здесь ссылка MS , помеченная как «Метод GetOwner для класса Win32_Process»
return false
из в обработчике событий jQuery фактически то же самое, что и вызов e.preventDefault
и e.stopPropagation
в переданном объекте jQuery.Event.
e.preventDefault ()
предотвратит возникновение события по умолчанию, e.stopPropagation ()
предотвратит всплытие события up и return false
сделают и то, и другое. Обратите внимание, что это поведение отличается от обычных (не jQuery) обработчиков событий, в которых, в частности, return false
не не останавливает всплытие события.
Источник: Джон Ресиг
Я думаю,
event.preventDefault ()
- это указанный w3c способ отмены событий.
Вы можете прочитать это в спецификации W3C на Отмена события .
Также вы не можете использовать return false в каждой ситуации. Если указать функцию javascript в атрибуте href и вы вернете false, то пользователь будет перенаправлен на страницу с записанной ложной строкой.
Вы можете повесить множество функций на событие onClick
для одного элемента. Как вы можете быть уверены, что ложный
выстрелит последним? preventDefault
, с другой стороны, определенно предотвратит только поведение элемента по умолчанию.
Это не вопрос, как вы его назвали, "JavaScript"; это вопрос относительно дизайна jQuery.
jQuery и ранее связанная цитата из Джона Ресига (в сообщении karim79 ), похоже, являются источником непонимания того, как вообще обработчики событий Работа.
Факт: обработчик события, возвращающий false, предотвращает действие по умолчанию для этого события. Это не останавливает распространение события. Обработчики событий всегда работали таким образом, еще со времен Netscape Navigator.
В документации от MDN объясняется, как работает return false
в обработчике событий
То, что происходит в jQuery, отличается от того, что происходит с обработчиками событий. Слушатели событий DOM и «прикрепленные» события MSIE - это совсем другое дело.
Дополнительную информацию см. В attachEvent в MSDN и в документации по событиям W3C DOM 2 .