Я применил несколько методов обработки событий click в jquery:
обязывать:
$('#mydiv').bind('click', function() {
...
});
нажмите:
$('#mydiv').click(function() {
...
}
на
$('mydiv').on('click', function() {
...
}
Два вопроса:
- Есть ли другие способы сделать это?
- Какой я должен использовать и почему?
UPDATE:
Как посоветовал eveyone, я должен был лучше ознакомиться с документами и узнать, что я должен использовать:
on() или нажмите(),
которые фактически являются одними и теми же.
Однако никто не объяснил, почему привязка больше не рекомендуется? Я, вероятно, получу больше downvotes за отсутствие очевидного где-нибудь, но я не могу найти причину этого в документах.
UPDATE2:
'on' имеет полезный эффект от возможности добавления обработчиков событий к динамически созданным элементам. например.
$('body').on('click',".myclass",function() {
alert("Clicked On MyClass element");
});
Этот код добавляет обработчик кликов к элементам с классом "myClass". Однако, если впоследствии новые элементы myClass динамически добавляются, они также автоматически получают обработчик кликов, без явного вызова 'on'. Из того, что я понимаю, люди говорят, что это также более эффективно (см. Ответы Саймонса ниже).