Когда два элемента div вложены, мы имеем иерархию элементов HTML. Что-то вроде:
body
firstDiv
secondDiv
, в котором secondDiv
встроен в firstDiv
, который, в свою очередь, встроен в body
. Теперь, когда вы нажимаете на secondDiv, firstDiv также нажимается, и тело также щелкается. Итак, если вы создадите 3 обработчика событий для этих 3 элементов (скажем, покажите 3 оповещения), вы получите 3 оповещения. Это явление называется пузырящимся , потому что если вы представляете, что эти элементы представляют собой слои воды (с более глубокими дочерними элементами), и рассматриваете событие (как щелчок) как пузырь, когда вы освобождаете пузыри на нижних слоях, он пузырится до верхних слоев, пока не достигнет поверхности (элемент HTML или даже выше, объект документа и объект окна, который является корневым объектом).
с jQuery, вы можете использовать функцию e.stopPropagation (), чтобы отменить всплывание. В чистом JavaScript вы используете return false;
, чтобы остановить пузыри.