Double Click jak w OS’ie
marzec 19, 2007 – 7:41 po południuSpróbuję teraz zaprezentować mały skrypt który zajmie się poprawnym interpretowaniem tych zdarzeń. Będzie on ignorował Click jeśli nastąpi zdarzenie dblClick.
var delayTime=301; // czas czekania na następne kliknięcie var dblClickTime=0; // czas podwójnego kliknięcia var clickTime=0; // przechowuje czas kliknięcia var timeOut=null; function clickMe(cOneFunc, cDoubleFunc, eve) { var d = new Date(); var now = d.getTime(); if(eve.type == "click") { if (clickTime - dblClickTime <= 0) { timeOut = setTimeout('clickTime=0,eval('+cOneFunc+')', delayTime); clickTime = d.getTime(); } } else { dblClickTime = d.getTime(); if (timeOut != null) { clearTimeout(timeOut); timeOut = null; } return eval(cDoubleFunc); } }
Powyższą funkcję możemy wykorzystać w następujący sposób:
<a href="#" onclick="clickMe('funckja()', '', event)" ondblclick="clickMe('', 'funkcja('Jakiś parametr do funkcji ')', event)"> kilknij</a>
Pages: 1 2