Apprendre jQuery

Les méthodes d'événements

API : http://api.jquery.com/category/events/

L'association d'un gestionnaire à un événement peut aussi s'écrire de façon plus simple mais perd l'avantage d'écouter en permanence la page. Par exemple, si un bouton est créé à l'aide d'un script après que le DOM soit chargé, la méthode .click() ne fonctionnera pas.

$('.btn').on('click', function() {
    alert( $(this).text() );
});

Devient :

$('.btn').click(function() {
    alert( $(this).text() );
});

L'avantage de ces méthodes raccourcies et d'être moins gourmandes en mémoire puisque le DOM n'est pas écouté en permanance.

L'exemple suivant nous permet de montrer que la méthode .click()ne fonctionne pas sur le bouton créé après le chargement du DOM.

<div class="box">
  <p>
    <button class="btn btn-primary" id="add">Ajouter un bouton</button>
  </p>
  <p id="container" class="bg-muted">
    <button class="btn btn-default btn-sm">Bouton créer avant le chargement du DOM</button>
  </p>
</div>
$('#add').click(function() {
    var html = '';
    $("button.btn:last").parent().append(html);
});

$("#container .btn").click(function() {
    alert('Méthode .click()');
});

$("#container").on('click', '.btn', function() {
    alert('Méthode .on()');
});

See the Pen .click() vs .on() by Sutterlity (@sutterlity) on CodePen.

Voici quelques unes des méthodes les plus utilisées.

Les événements de la souris

Événement Description
.click() Lors du clic sur l'élément
.dblclick() Au double-clic sur l'élément
.scroll() Lors du scroll sur l'élément
.mousedown() Lorsque le bouton de la souris est enfoncé sur l'élément
.mouseup() Lorsque le bouton de la souris est relâché au dessus de l'élément
.mousemove() Le pointeur se déplace dans l'élément
.mouseover() Lorsque le curseur entre dans l'élément
.mouseout() Lorsque le curseur sort de l'élément
.mouseenter() Lorsque le curseur entre dans l'élément, le bouillonnement n'a pas d'effet
.mouseleave() Lorsque le curseur sort de l'élément, le bouillonnement n'a pas d'effet

Les événements du clavier

Événement Description
.keydown() Lorsqu'une touche du clavier est enfoncée
.keypress() Lorsqu'une touche du clavier vient d'être enfoncée
.keyup() Lorsqu'une touche vient d'être relachée

Les autres événements

Événement Description
.blur() Lorsque l'élément perd son focus
.focus() Lorsque l'élément a le focus
.load() Lorsque l'élément est chargé
.resize() Lorsque l'élément est redimensionné
.change() Lorsque l'élément subit un changement
.select() Lorsque le texte est sélectionné dans un formulaire
.submit() Lorsque le formulaire est soumis