Эквивалент:
$('a').live('click', function(){});
таков:
$(document).on('click', 'a', function(){});
Но .on()
более мощный, потому что вместо того, чтобы присоединять все обработчики событий к объекту document
, как.live()
делает, вы можете выбрать статического родителя, который будет намного ближе к вашим динамическим объектам и будет более эффективным, особенно если у вас много делегированных обработчиков событий.
Например, если у вас был контейнер divвызывая ссылки, вы должны сделать это:
$("#links").on('click', 'a', function(){});
Селектор в объекте jQuery - это статический объект, с которым вы хотите связать обработчик событий.Селектор в аргументах .on()
является селектором, который соответствует объектам, события которых вы хотите обработать, которые будут пузыриться до вашего статического родительского объекта.