Tout nouveau pour jQuery. J'essayais de configurer un écouteur d'événements pour le contrôle suivant sur ma page qui, une fois cliqué, afficherait une alerte:
<input type="button" id="filter" name="filter" value="Filter" />
Mais ça n'a pas marché.
$("#filter").button().click(function(){...});
Comment créer un écouteur d'événement pour un contrôle de bouton d'entrée avec jQuery?
Tout d’abord, button()
est une fonction jQuery ui pour créer un widget de bouton qui n’a rien à voir avec le noyau jQuery, elle donne simplement un style au bouton.
Donc, si vous souhaitez utiliser le widget, ajoutez les fichiers javascript et CSS de jQuery ui ou supprimez-le, comme ceci:
$("#filter").click(function(){
alert('clicked!');
});
Le problème peut aussi être dû au fait que vous n'avez pas attendu le rendu de l'entrée et écrit le code avant l'entrée. jQuery a le fonction ready, ou son alias $(func)
qui exécute le rappel une fois que le DOM est prêt.
Usage:
$(function(){
$("#filter").click(function(){
alert('clicked!');
});
});
Donc, même si la commande est la suivante, cela fonctionnera:
$(function(){
$("#filter").click(function(){
alert('clicked!');
});
});
<input type="button" id="filter" name="filter" value="Filter" />
$("#filter").click(function(){
//Put your code here
});
Pour en savoir plus sur la réponse de gdoron, vous pouvez également le faire de la manière suivante:
$(window).on("click", "#filter", function() {
alert('clicked!');
});
sans avoir besoin de les placer tous dans $(function(){...})