2010-03-19 5 views
0

Je suis en train de tester dans Chrome.jQuery: Déclenchement d'un clic sur un img ne fonctionnant pas

J'ai un tas d'icônes 'Ajouter un élément' à l'écran que l'utilisateur peut cliquer pour ajouter cet élément à la base de données. J'ai aussi un bouton au bas de cette liste, qui devrait ajouter toute la liste des éléments. Il me semble que la manière la plus facile de faire ceci est de déclencher l'événement 'click' pour toutes ces icônes (la raison pour laquelle je le fais via les icônes est que les valeurs spécifiques aux items sont stockées comme attributs du div dans lequel l'icône réside). Cependant, je n'arrive pas à le faire fonctionner: les gestionnaires d'événements pour les icônes individuelles fonctionnent parfaitement, et le gestionnaire d'événements pour le bouton add-them-all me donne une alerte si je mets cela. Mais si J'ajoute la commande trigger ('click'), je n'ai pas de bœuf.

J'ai essayé de déclencher le clic pour la première des icônes en ajoutant ':first' au sélecteur, mais cela n'a pas aidé.

$(function(){ 
    $('#addAllItemsButton').click(function() { 
    alert("Caught your button click"); 
    $('.addItemIcon').trigger('hover'); 
}); 

J'ai lu certains messages qui suggèrent des navigateurs ne vous permettent pas de déclencher des événements de clic, alors j'ai ajouté un écouteur d'événement « hover » aux icônes pour voir si le problème est dans le type d'événement que je veux déclencheur. Réponse: non, même histoire; l'alerte fonctionnera, mais pas le déclencheur.

J'ai placé l'écouteur d'événement d'icône dans le code avant l'écouteur d'événement de bouton.

Que se passe-t-il? Merci pour tous les conseils.

+0

certains html + javascript ne serait pas une mauvaise idée :) –

+0

Salut, et bienvenue à SO! Il serait utile si vous avez collé une partie de votre code ici, peut-être la façon dont vous liez l'événement click? – marcgg

+0

Je pense que vous avez accidentellement une phrase ("Mais si j'ajoute le ...") – unrelativity

Répondre

1

d'abord, assurez-vous que le sélecteur est valide, par exemple:

$(function() { 
    $('#addAllItemsButton').click(function() { 
     var icons = $('.addItemIcon'); 
     alert(icons.length); 
    }); 
}); 

il devrait vous donner au moins 1

BTW - j'ai connu quelques problèmes avec hover. vous pouvez aller pour mouseenter/mouseleave

Questions connexes