En utilisant jQuery, les éléments suivants sont identiques en effet:
$('a').click(function(){ doSomething(); });
$('a').on('click', function(){ doSomething(); });
Avec l' input
événement, cependant, seul le deuxième modèle semble fonctionner dans les navigateurs que j'ai testés.
Ainsi, vous vous attendez à ce que cela fonctionne, mais cela NE FONCTIONNE PAS (au moins actuellement):
$(':text').input(function(){ doSomething(); });
Encore une fois, si vous vouliez tirer parti de la délégation d'événements (par exemple pour configurer l'événement #container
avant que votre ne input.text
soit ajouté au DOM), cela devrait vous venir à l'esprit:
$('#container').on('input', ':text', function(){ doSomething(); });
Malheureusement, encore une fois, cela ne fonctionne PAS actuellement!
Seul ce modèle fonctionne:
$(':text').on('input', function(){ doSomething(); });
MODIFIÉ AVEC PLUS D'INFORMATIONS ACTUELLES
Je peux certainement confirmer que ce modèle:
$('#container').on('input', ':text', function(){ doSomething(); });
FONCTIONNE MAINTENANT également, dans tous les navigateurs «standard».