У меня есть элемент на моей странице, для которого мне нужно привязать обработчики событий onclick и ondblclick. Когда происходит один клик, он должен делать что-то другое, чем двойной щелчок. Когда я впервые начал делать эту работу, моя голова начала вращаться. Очевидно, что onclick всегда будет срабатывать при двойном щелчке. Поэтому я попытался использовать структуру, основанную на тайм-ауте, такую как...
window.onload = function() {
var timer;
var el = document.getElementById('testButton');
el.onclick = function() {
timer = setTimeout(function() { alert('Single'); }, 150);
}
el.ondblclick = function() {
clearTimeout(timer);
alert('Double');
}
}
Но у меня были несогласованные результаты (с использованием IE8). Он работал бы много раз, но иногда я получал предупреждение "Single" два раза.
Кто-нибудь сделал это раньше? Есть ли более эффективный способ?