Chaque fois qu'un gestionnaire mousedown ou mouseup est attaché à un élément, le dblclick ne peut pas être attaché (ne fonctionnera pas s'il est joint), bien que cela semble assez juste pour rétablir un dblclick fonctionnalité sans la réécrire de zéro (soupir ...) Ou est-ce qu'il me manque quelque chose à propos de la propagation d'événements?Avoir à la fois mousedown/mouseup et dblclick dans jQuery
Répondre
Il fonctionne - placer ce code dans Firebug sur cette même page et vous verrez fonctionner (essayer en double-cliquant sur le texte de votre question):
($('.post-text')
.mousedown(function() { console.log('down'); })
.mouseup(function() { console.log('up'); })
.dblclick(function() { console.log('dbclick'); }));
Ne pas avoir Firebug? Va le chercher, je vais attendre!
Merci Emil, j'étais dans Opera 10.10, un code fonctionne de débogage similaires (maison) mais hapazardly: \t scrollframe \t .mousedown (function (EVT) {eventlog (EVT, '', false);}) \t. mouseup (fonction (evt) {eventlog (evt, '', false);}) \t .dblclick (unscroll); Il semble qu'il y ait des problèmes doubleclick avec Opera, plus le contexte est un peu plus compliqué que la zone div non responsive est scrollable et contient également des objets draggables. Quoi qu'il en soit, c'était une question stupide, puisque j'ai besoin de différer l'action sur le mousedown, je vais tester pour un timeout encore en cours d'exécution sur le deuxième mousedown. (limite de commentaire suce) – Favonius
Votre mousedown et mouseup ne peut pas:
- faire e.stopPropagate etc.
- return false
et il devrait fonctionner si votre code ne dispose pas d'un conflit entre les méthodes
Bien que cette question soit vraiment ancienne, je veux montrer comment j'ai réussi avec cela.
Ce bloc ne sera pas travail:
$(element).on('mousedown', function(event) {
...
});
$(element).on('dblclick', function(event) {
...
});
Mais vous pouvez utiliser cet extrait pour créer le même gestionnaire de comportement:
var clicks = 0, delay = 400;
$(element).on('mousedown', function(event) {
event.preventDefault();
clicks++;
setTimeout(function() {
clicks = 0;
}, delay);
if (clicks === 2) {
// double click event handler should be here
clicks = 0;
return;
} else {
// mousedown event handler should be here
}
});
- 1. VB6 ListBox Click et DblClick
- 2. Avoir plus d'une boîte de dialogue Jquery et ne fermer qu'une seule instance à la fois
- 3. Avoir Directory.GetFiles retourne un fichier à la fois? (.NET)
- 4. Jquery SerialScroll: continu à la fois gauche et droite
- 5. Avoir à appuyer deux fois sur le bouton de connexion au site après avoir allumé l'ordinateur pour la première fois
- 6. SQL: Avoir une table deux fois dans la clause FROM
- 7. jQuery blur appelle 2/3 fois après avoir été appelé 2/3 fois
- 8. Avoir MVC 2 avec à la fois VS 2008 et VS 2010
- 9. Un élément peut-il avoir à la fois un identifiant et une classe?
- 10. Comment jQuery peut-il être utilisé pour gérer timer dans click, dblclick separation
- 11. JQuery et événement bouillonnant ... Encore une fois
- 12. Fonction différente pour la même classe sur 'clic'/'dblclick'
- 13. SELECT à la fois
- 14. Comment gérer l'événement dblClick sur FullScalendar daySlot?
- 15. jQuery dialogue iframe de chargement une fois dans IE et deux fois dans d'autres navigateurs?
- 16. JQuery Permutation Toggle des éléments, un à la fois
- 17. Travailler à la fois dans emacs et Textmate
- 18. PHP: SELECT et filtrage dans 2 tables à la fois
- 19. Interroger tous à la fois et enregistrer à la session, ou plusieurs fois?
- 20. jQuery: diviser div dans et sortir plusieurs fois
- 21. jQuery ajax vérifier et soumettre le formulaire, toujours avoir à soumettre deux fois lorsque ajax retourner nofound
- 22. pySerial gel après avoir lu 3 fois
- 23. Réaction OnPropertyChanged différente la première fois et la deuxième fois
- 24. Android OpenGL utilisant à la fois Java et C++
- 25. fermer plusieurs boîtes de dialogue jquery ui à la fois
- 26. jQuery Sélecteur de date: sélectionnez les semaines à la fois
- 27. Comment supprimer les attributs à la fois en utilisant jquery
- 28. charge plusieurs fragments à la fois avec jquery .load()
- 29. Impossible de lier dblclick à un élément de case avec l'attribut désactivé
- 30. jQuery: la décoloration dans une page Web une seule fois
Impossible de reproduire cela dans un navigateur. Suspecter quelque chose d'autre est faux. – bobince