2010-11-03 8 views
0

Dans la liste des résultats de saisie semi-automatique. Comment capturer l'événement click? Actuellement, les résultats sont des liens. Lorsqu'ils sont cliqués, ils ouvrent une nouvelle fenêtre avec l'URL intégrée, mais lorsque cela se produit, la saisie semi-automatique ne perd pas le focus et la boîte de résultats reste bloquée. Il reste ouvert même lorsque l'utilisateur revient et clique n'importe où sur la page. la seule façon de lui faire perdre la mise au point est de cliquer à l'intérieur de la zone de saisie, puis de cliquer sur le bouton de retour arrière.jQuery autocomplete - résultat du clic de la souris, l'entrée ne perd pas le focus

Il semble que l'ouverture de la nouvelle fenêtre perd le focus de la boîte de saisie mais ne déclenche pas un événement blur(). Je pensais si je pouvais capturer l'événement de clic que je pourrais déclencher manuellement un .blur() mais j'ai échoué à mes tentatives en utilisant la classe pour les éléments de liste $ ("li") ou leurs noms css $ (".ui-menu"). J'ai également essayé dans l'événement de saisie semi-automatique mais cela n'a rien fait.

Cela ressemble à cela pourrait être une solution: http://jeremydorn.blogspot.com/2010/04/fixing-jquery-ui-autocomplete.html

Mais j'espérais quelque chose de plus élégant.

Merci

Répondre

0

Pourquoi ne vous donne pas les liens d'un gestionnaire de clic qui closes the autocomplete?

Par exemple:

$("a.autocompleteLink").click(function() { 
    $("input.autocomplete").autocomplete("close"); 
}); 
+0

J'ai essayé cela aussi, mais je ne peux pas trouver la couture du nom pour les liens les retours de saisie semi-automatique. $ ("a.autocompleteLink") J'ai essayé le nom du conteneur, le nom de la classe pour les liens qu'il affiche, tout ce que je pouvais penser – specked

+0

Utilisez-vous Firebug pour regarder le code généré? Qu'essayez-vous d'accomplir ici? Peut-être que si vous montrez le code qui génère la saisie semi-automatique, je pourrais vous aider davantage. – Damo

Questions connexes