Допустим, у вас есть веб-страница с формами, и вы хотите запускать обработчик при каждой отправке одной из этих форм или при отправке формы, добавленной на страницу в более поздний момент времени. Какой метод лучше:

$('form').on('submit', handler);

Или

$(document).on('submit', 'form', handler);
0
Justin Meltzer 28 Янв 2013 в 02:19

2 ответа

Лучший ответ

Если вы хотите, чтобы он применялся к формам, вы будете динамически добавлять их на свою страницу позже, последняя является единственной версией, которая будет работать вообще.

(Честно говоря, если ваша страница не имеет тысячи форм, разница в производительности не должна иметь большого значения)

0
keithjgrant 27 Янв 2013 в 22:24

Это не то, что лучше, это то, что больше подходит для ваших нужд, оба метода хороши и имеют свое применение.

Первый прослушивает только отправку, которая происходит внутри форм, последний слушает все отправки, ждет, пока они отправятся в document, а затем запускает обратный вызов handler.

Обратите внимание, что с onsubmit это не имеет такой большой разницы, как с mousemove или click, которые могут встречаться в любом месте в <body>, отправка происходит только в { {X4}}, но он пузырится до самого документа.

0
Ja͢ck 27 Янв 2013 в 22:27