2013-08-06 2 views
-3

на функциикаковы различия между на функции() и функции

$("selector").on("click", function(event){ 
//code to be executed 
}); 

функции связывают

$("selector").bind("click", function(event){ 
//code to be executed 
}); 

Когда использовать на функции и привязки функции особенно Bind()?

+1

http://jsapi.info/jquery/1.8.3/jQuery.fn.bind – Andreas

+1

Они точно так же, когда используется таким образом (но '.on' может сделать гораздо больше, чем' .bind' при предоставлении дополнительных аргументов). Нет причин использовать '.bind' когда-либо. – Jon

+0

см. Http://api.jquery.com/on/ – Satpal

ответ

0

и присоединяет обработчик событий к документу ... bind придает обработчик события непосредственно к элементам (не делегаты) .. поэтому привязка не работает для динамически добавленного элемента, в котором, как on делает .. он использует делегирование событий.

с кодами у вас есть .. нет никакой разницы между on и bind here..both делает то же самое (прикрепляет щелчок обработчик к выбранному элементу)

, как к When to use on function and bind function especially?

простого ответа будет,

если вы используете jquery 1.7+. используйте on(), , если ваш элемент добавлен динамически использовать .on().

1

Из документов:

По JQuery 1.7, метод .on() является предпочтительным способом для прикрепления обработчиков событий к документу. Для более ранних версий метод .bind() используется для привязки обработчика события непосредственно к элементам. Обработчики привязаны к выбранным в данный момент элементам в объекте jQuery, поэтому эти элементы должны существовать в точке, где происходит вызов в .bind(). Для более гибкой привязки событий см. Обсуждение делегирования событий в .on() или .delegate().

bind работает только в том случае, если элемент существует, он привяжет его ко всем элементам, соответствующим селектору. Docs.

$(document).on("click","selector", function(event){ 
//code applies to all elements matching the selector. 
}); 
+1

'on, привяжет его ко всем элементам, соответствующим селектору. 'только при заданном параметре выбора делегата. В случае OPs это неверно. –

+0

@RoryMcCrossan Вы правы. –

Смежные вопросы