Bonjour à tous
J'ai récupéré et adapté le handler suivant qui sert à différencier click/dbleClick.
Cette version me semble préférable à celle qui consiste à utiliser l'event dblclick. On peut toujours discuter de sa pertinence (et si vous avez mieux ça m'intéresse) mais ce n'est pas la question ici.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 var doubleClickCallback = function(e){ console.log('double') }, singleClickCallback = function(e){ console.log('single') };//e.stopPropagation(); var makeDoubleClick = function(e) { return (function () { var clicks = 0, timeout; return function () { var event = e; clicks++; if (clicks == 1) { timeout = setTimeout(function () { singleClickCallback(event); clicks = 0; }, 300); } else { clearTimeout(timeout); doubleClickCallback(event); clicks = 0; } }; }()); }
Ma question c'est comment récupérer l'event e (pour l'envoyer aux handlers terminaux) sachant que je ne parviens pas à l'envoyer à cette structure, parce que l'affectation se fait de façon inhabituelle, la 1ère fonctionne alors que la 2nde (que je veux utiliser) ne marche pas :
Je sais bien que peux toujours faire ça :Code:
1
2 element.addEventListener('click', makeDoubleClick(), false); element.addEventListener('click', makeDoubleClick, false);
Mais sinon qu'est ce que j'ai pas compris ?Code:element.addEventListener('click', function(e){ makeDoubleClick(e) } , false);
Merci d'avance