Je travaille sur une application Web ASP.NET qui est nécessaire pour faire apparaître une fenêtre contextuelle sur un retour. J'utilise l'événement "OnMouseOver" et cela fonctionne comme prévu. Le problème est que l'événement est sur un "déclencheur de cheveux"; même un passage occasionnel de la souris sur le contrôle fait apparaître le popup (qui doit ensuite être manuellement rejeté). Je veux ajouter un délai afin qu'un passage rapide sur le contrôle en question ne déclenche pas l'événement. Y a-t-il un moyen de définir un tel retard ou existe-t-il un événement différent que je pourrais utiliser pour obtenir le même "événement déclencheur sur un roulement lent"?Puis-je spécifier un délai avant que le navigateur déclenche l'événement "rollover"?
0
A
Répondre
3
Une solution qui vient à l'esprit, il peut y avoir de meilleures façons cependant:
- Faire l'appel
onmouseover
la fonction via unsetTimeout
retard - l'intérieur de la fonction, vérifiez la souris est en fait sur cet élément.
Vous pouvez également utiliser un onmouseout
pour effacer le setTimeout
, mais vous auriez à stocker une référence à la minuterie dans une variable globale pour obtenir à nouveau.
0
Ce que je fini par faire est la suivante (oRow est une ligne de table mais il pourrait être tout contrôle):
function ItemMouseOver(oRow, "parameters for the popup")
{
oRow.showTimer = window.setTimeout(function()
{
alert('popup');
}, 1000);
}
function ItemMouseOut(oRow)
{
if (oRow.showTimer)
window.clearTimeout(oRow.showTimer);
En cas de vue réseau ASP.NET de RowDataBound: J'ai ajouté le code suivant:
protected void ReportGridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow && (
e.Row.RowState == DataControlRowState.Normal
|| e.Row.RowState == DataControlRowState.Alternate))
{
// get the input values for the popup for the row (stuff deleted)
e.Row.Attributes["onmouseover"] = "javascript:ItemMouseOver(this,
"parameters for the popup");";
e.Row.Attributes["onmouseout"] = "javascript:ItemMouseOut(this);";
}
}
Cela fonctionne très bien. Merci.
Questions connexes
- 1. Comment spécifier le paramètre de délai d'attente Http Request sur le conteneur de servlets Java
- 2. Le délai écoulé avant l'obtention d'une connexion du pool
- 3. Peut-on dbms_utility.get_time rollover?
- 4. Comment tuer un sélecteur qui se déclenche après un délai (sur l'iPhone)?
- 5. Quelle est la durée de sécurité que je peux attendre avant de répondre à un navigateur sans avoir à attendre le délai?
- 6. navigateur naviguez vers le lien avant que la requête $ .ajax puisse terminer
- 7. Contrôle utilisateur ASP.NET: Page_Load déclenche avant que la propriété ne soit définie
- 8. Comment spécifier un navigateur à utiliser pour le débogage dans Visual C# 2008 Express?
- 9. y a-t-il un événement qui se déclenche avant updateComplete() pour un canevas?
- 10. erreur Javascript dans IE (rollover)
- 11. Comment détecter le délai d'attente d'un appel AJAX (XmlHttpRequest) dans le navigateur?
- 12. Comment étendre délai d'attente de script du navigateur
- 13. Quitter le menu jQuery après un délai
- 14. Le navigateur charge-t-il un bloc entier de JavaScript avant son exécution?
- 15. Texte Sifr non redimensionné lorsque vous effectuez un zoom avant avec le navigateur (commande + ou -)
- 16. Comment raccourcir le temps avant les données après le premier accès dans le navigateur
- 17. Est-ce que Javascript déclenche un événement pour les exceptions non gérées/non interceptées?
- 18. Boucle infinie en JavaScript qui ne déclenche pas d'avertissement par le navigateur
- 19. Où dois-je placer le code qui se déclenche une fois la page retournée au navigateur?
- 20. Traitement du clic natif du navigateur avant dom: chargé
- 21. Rappel PHP juste avant que le script ne meure
- 22. Dans Dojo ou Javascript, comment faire en sorte que mon gestionnaire d'événements se déclenche avant les autres gestionnaires d'événements?
- 23. jQuery déclenche dans un formulaire
- 24. Le déclenchement Quartz.NET ne se déclenche pas
- 25. Comment peut-on effectuer un échange div double sur le rollover?
- 26. Est-il possible d'empêcher le navigateur de suivre le lien lorsque l'onclick de l'élément enfant se déclenche?
- 27. Silverlight: le temporisateur MouseLeftButtonDown déclenche à plusieurs reprises un événement
- 28. jquery boîte de dialogue d'alerte avant le déchargement ou lorsque la fenêtre du navigateur est fermée
- 29. Vérifier que Java est présent avant l'installation
- 30. Quel est le délai d'attente pour démarrer un service Windows?