2010-10-30 5 views
0

Les fonctions ajoutées aux sélecteurs à l'aide de .live() ne fonctionnent pas systématiquement dans les extensions Google Chrome. Par exemple, j'ai une fonction simple qui ressemble à ceci:Fonction jQuery .live() ne fonctionnant pas dans les extensions Google Chrome

$("#sampleSelectID").live('click', function() { 
    alert("CLICKED!"); 
}); 

et l'alerte ne se déclenche pas. Si je débogue l'extension, il n'y a pas d'erreur javaScript. Bizarrement, si je place un point d'arrêt sur cette ligne dans le débogueur, il se déclenchera occasionnellement, mais même dans ce cas, c'est incohérent.

Existe-t-il des problèmes étranges avec l'utilisation de .live() et de jquery dans une extension chrome?

Je dois ajouter que chacun de ces sélecteurs est appliqué à un objet de sélection sous une forme qui vit dans le fichier html pop-up de mon extension comme ceci:

<li class="sampleClass"> 
     <form> 
     <select id="sampleSelectID"> 
     </select> 
     </form> 
</li> 
+3

Les gestionnaires de clics réguliers fonctionnent-ils, par ex. '$ ('# sampleCass'). cliquez sur (...)'? Aussi, je suis un peu méfiant à propos de votre sélecteur. '#' est le sélecteur d'ID; '.' est le sélecteur de classe. Voulez-vous utiliser '$ ('. SampleClass')? –

+0

Merci Matt - Je voulais dire des sélecteurs d'ID. J'ai mis à jour la question originale pour l'afficher, et j'ai inclus la syntaxe HTML pour les objets auxquels ils s'appliquent. Les gestionnaires de clics ont le même résultat. –

Répondre

0

j'ai changé l'auditeur « cliquez sur » pour « le changement » et cela a fonctionné parfaitement. Il semble que le "clic" ne se produise pas au bon moment dans les extensions Chrome, bien que ce code fonctionne correctement dans les extensions Safari. Le changement semble être le plus approprié à écouter de toute façon.

Questions connexes