2010-12-09 24 views
1

Je voudrais déclencher une boîte de dialogue contextuelle lorsqu'un utilisateur frappe entrer dans une boîte de recherche qui leur permet de donner plus de détails avant de chercher. Bien sûr, cela fonctionne bien quand ils cliquent sur le bouton de recherche. La fenêtre contextuelle a tendance à être bloquée lorsque j'essaie d'utiliser un gestionnaire de touches pour déclencher la fenêtre contextuelle lorsque l'utilisateur appuie sur la touche Entrée.Quels événements javascript peuvent déclencher un popup sans être bloqués?

Quels événements javascript peuvent déclencher une fenêtre en toute sécurité? Est-ce que l'onclick est le seul ou y a-t-il un événement de manipulation de clé (ou d'une autre manière que je n'ai pas pensé)?

Voici un exemple:

$('input.search').keypress(function(event){ 
    if (event.keyCode == 13) { 
     // trigger popup 
    } 
}); 

Cela ne déclenche un popup, mais les bloqueurs de pop-up attraper la plupart du temps.

+0

Pouvez-vous montrer ce que vous faites maintenant? – Kimtho6

+0

Vous pouvez lier n'importe quel gestionnaire d'événement à n'importe quel événement. Il n'y a pas de restrictions. Vous pouvez utiliser n'importe quel événement pour déclencher le popup. –

Répondre

1

Les bloqueurs de fenêtres contextuelles ont tendance à bloquer tout sauf les actions directes de la souris. Peut-être que vous devriez envisager d'utiliser ajax pour charger l'aperçu au lieu d'un popup, puis superposer le résultat ajax sur la page.

+0

Ce serait probablement mieux, mais la fenêtre contextuelle est déclenchée par la bibliothèque Facebook Connect que j'utilise, donc il n'y a pas vraiment de moyen d'utiliser un popup. – Allan