Метод Live привязывает обработчик к документу и определяет, какой элемент вызвал событие, из свойства event.target
.
Таким образом, фактический обработчик находится наверху ( в терминах иерархии ).
stopPropagation
останавливает всплывание пузырьков вверх по иерархии DOM, но поскольку обработчик уже находится на вершине ( в .live
случае ), нет места для всплытия ..
пример попытки ..
- document
- div
- link
вы связываете обработчик события щелчка со ссылкой ( с помощью метода bind
или click
).
Когда вы щелкаете ссылку, запускается обработчик, но, кроме того, событие щелчка поднимается вверх по DOM, пока не достигнет документа, а также вызовет обработчики щелчка, связанные с div и документом. (, если вы не используете .stopPropagation
)
В качестве альтернативы, если вы используете метод .live
для привязки обработчика событий, он будет привязан к документу. Если сейчас щелкнуть ссылку, событие (, которое не сработает сразу, поскольку с ним не связан ни один обработчик ) естественным образом поднимется по DOM (, вызывая обработчики нажатий, с которыми он сталкивается ). ). Как только он достигает документа, он запускает наш собственный обработчик. Но нет никакого верхнего, чтобы пойти, поэтому stopPropagation
бесполезен в этом пункте.