События в JS пузырятся по умолчанию и размножаются слой по слою. Вы можете остановить распространение событий на уровне DOM через функцию StopPropagation (). Как в следующем примере:
HTML -код:
<! Doctype html> <html> <head> <meta charset = "utf-8"/> <Teal> StopPropagation ()-используется в блоге Qiongtai </title> </head> <body> <butte> кнопка </button> </body> </html> [/code] без document.getElementsbytagname ('button') [0]; button.onclick = function (event) {alert ('кнопка нажатия');}; document.body.onclick = function (event) {alert ('body click');}DOM распространяет слой за слоем, поэтому нажатие на кнопку также распространяется на слой тела, поэтому нажимание слоя тела также отвечает. В результате появляются два предупреждения, а именно кнопка и тело.
Добавлен Stoppropagation ()
var button = document.getElementsbytagname ('button') [0]; button.onclick = function (event) {alert ('кнопка нажатия'); // Остановить событие иерархии событий DOM.StopPropagation ();}; document.body.onclick = function (event) {alert ('body click');}Функция StopPropagation () используется в функции обработки событий кнопки, чтобы остановить функцию распространения событий, поэтому после появления блока предупреждения от события кнопки нажимается тело, тело не может быть распространено, и флажок предупреждения тела больше не появится. В результате ящик для предупреждения обсуждается только один раз.
При написании JS многие детские ботинки часто игнорируют характеристики событий DOM, распространяющих слой по слою, что приводит к нарушениям в программе. Если вам нужно знать более глубокие знания, вы можете найти информацию о пузыре со событиями JS.