Oui - vous pouvez écouter tout état de cause sur tout élément dans le DOM. Découvrez this fiddle comme point de départ. Voici un full list of mouse events et keyboard events que vous pouvez écouter.
HTML
<select class="my-select-1">
<option value="1">First</options>
<option value="2">Second</options>
</select>
<select class="my-select-2">
<option value="1">A choice</options>
<option value="2">Another choice</options>
</select>
jQuery
$(document).ready(function() {
$(".my-select-1").on("click", function(event){
alert('Do something - click event');
});
$('.my-select-2').on('keypress', function(e) {
var code = (e.keyCode ? e.keyCode : e.which);
if(code == 13) { //Enter keycode
alert('Do something - enter key press');
}
});
});
Dans l'exemple ci-dessus, $(".my-select-1)
est le sélecteur, il pourrait être quelque chose (un ID, un type d'élément, etc.). Plus d'informations sur les sélecteurs here. La partie suivante, .on("mousedown"
, associe une fonction de gestionnaire d'événement pour un ou plusieurs événements aux éléments sélectionnés - dans ce cas, un seul événement, mousedown
. Plus d'infos sur le here.
Le deuxième exemple, est un peu plus de fantaisie car nous devons déterminer quelle touche a été enfoncée, mais autre que celle utilise le même concept. Vous pouvez trouver une très longue discussion à ce sujet sur this post, mais s'il vous plaît noter qu'à partir de 1.7 on
est la méthode préférée (pas bind
).
Je jure, je pensais que le clic est arrivé sur le premier clic de la sélection ... Eh bien cela a résolu ma question, je vais utiliser ceci avec éventuellement la réponse @ undefined, joignant les deux déclarations 'on' en un – Ascherer
Ouais - j'allais juste dire si vous donniez un exemple de votre code cela nous aiderait à vous donner la meilleure suggestion. Selon la façon dont vous vous en approchez, la méthode @undefined fonctionnerait également - en plaçant un commutateur ou si des instructions à l'intérieur de la fonction suggèrent d'avoir différents comportements pour différents événements. – MaxPowers
ouais, c'est l'idée. Merci – Ascherer