Когда вы используете .delegate()
, ожидается, что вы выберете элемент-предок, который будет прослушивателем событий для обозначенных потомков.Это здорово, потому что с самого начала вы привязываете слушателя, который должен быть более или менее «постоянным» на вашей странице, независимо от того, сколько допустимых целей добавлено или удалено из его потомственного дерева.
Это, безусловно,лучше, чем .click
для динамических страниц, и лучше, чем использовать серию .bind
и .unbind
для элементов при их добавлении или удалении.
Однако это может быть равно использованию .bind()
таким образом, что выбирается элемент-предок, который прослушивает щелчки по назначенным потомкам.Я не достаточно знаком с .bind()
, чтобы точно сказать о преимуществах производительности.
-
Как отдельная сторона, не относящаяся конкретно к вашему вопросу, это более эффективная функция, чем .live()
, поэтому, если у вас когда-нибудь возникнет желание использовать .live()
, я бы настоятельнорекомендую .delegate()
как лучший вариант.