Description de
Sur notre site Web communautaire chaque utilisateurs nick est un lien vers leur page de profil, mais si le pseudo est double cliqué sur un menu de cet utilisateur est affiché en dessous du pseudo . Le contenu de ce menu contextuel est chargé en utilisant un appel ajax. Jusqu'à présent, nous avons utilisé "javascript:" dans les ancres hrefs, et nous avons pris des clics simples/doubles en utilisant JS. Nous voulions nettoyer les hrefs et ajouter des URLs appropriées pour permettre aux utilisateurs d'ouvrir les liens de profil dans les onglets, etc., tout en maintenant le menu de double-clic. Je me rends compte que ce n'est pas le meilleur design, c'est juste devenu une obsession de travailler.jquery preventDefault l'ancre liée si un double-clic
Problème
Je veux un seul clique pour agir comme normal (envoyer navigateur à href), en double-clique sur preventDefault et appeler une fonction personnalisée (événement) à la place. Je suis capable de le faire en utilisant window.location dans la partie clic simple, mais cela ressemble à la compromission/hack que je voulais améliorer.
code jusqu'à présent
En utilisant answer 1067484 de question 1067464 (ne peuvent pas poster des liens) comme base pour les éléments suivants
(Voir/modifier vivre à http://jsbin.com/iboyo5/2)
Je manque seulement cette partie en un seul clic, je voulais un chemin "plus propre" que window.location et c'est pourquoi je joue avec .unbind() - ce qui n'est pas une solution à 100% non plus. La fonction .unbind() fait ce que je veux, mais elle ne décharge pas le gestionnaire pour l'exécution actuelle du code, donc elle ne fonctionne qu'une fois tous les deux clics. C'est le problème que j'ai besoin de résoudre maintenant. Btw: Cela ne me dérange pas si le premier .click est mis en pause pour la temporisation réglée. Devoir attendre 300 ms avant que l'URL ne "lance" ne pose aucun problème.
Est-ce que je vais devoir abandonner celui-ci et utiliser window.location? Peut-il être résolu en utilisant .live() et .die()?
J'espère avoir fait suffisamment de recherches avant mon premier article ici. Merci!
Merci d'avoir répondu - Je ne vois pas comment c'est différent de ce que j'avais déjà? Pour éclaircir la question: je veux que les clics uniques suivent le href original, tandis que les doubles-clics empêchent Defaut et appellent une fonction personnalisée. – ccondrup