Как подсчитать 5 кратное нажатие мыши
Как организовать так что бы только после 5 кратного нажатия мыши выполнялось прописанное действие допустим показать скрытый элемент.
Причем если на элементе нажали 4 раза а 5 только через время 30сек примерно но вобщем не сразу то показ скрытого элемента не срабатывал бы. А показывался лишь когда сразу 5 раз счелкнишь на элементе. |
strengerst, ты кого закликать хочешь досмерти? :D
Как вариант: - при клике проверять значение некоего атрибута у элемента - если он равен N-1 - событие наступило - если нет - увеличивать значение того атрибута - запускать таймер "сброса" этого атрибута - при очередном клике убивать таймер и запускать, если нужно, еще раз |
В современных браузерах в объекте события есть свойство e.detail, которое содержит число кликов. Но, в Firefox оно ограничено тремя кликами, а в IE считает клики, невзирая на расстояние между ними.
В старых IE вообще нет такого свойства. Кроссбраузерную реализацию обработчика смотри тут: https://github.com/ajaxorg/ace/blob/.../event.js#L162 Заметь, в объекте eventNames нет нужного тебе 5: "quintclick" |
И да, таймаут будет использоваться системный, тот что выставлен в настройках мыши (кроме IE).
Вот старая реализация, с кастомными таймаутами (то есть e.detail не используется): https://github.com/ajaxorg/ace/blob/.../event.js#L174 |
Спасибо буду пробовать.
|
Часовой пояс GMT +3, время: 05:12. |