Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как подсчитать 5 кратное нажатие мыши (https://javascript.ru/forum/jquery/50729-kak-podschitat-5-kratnoe-nazhatie-myshi.html)

strengerst 09.10.2014 09:29

Как подсчитать 5 кратное нажатие мыши
 
Как организовать так что бы только после 5 кратного нажатия мыши выполнялось прописанное действие допустим показать скрытый элемент.
Причем если на элементе нажали 4 раза а 5 только через время 30сек примерно но вобщем не сразу то показ скрытого элемента не срабатывал бы. А показывался лишь когда сразу 5 раз счелкнишь на элементе.

ksa 09.10.2014 09:44

strengerst, ты кого закликать хочешь досмерти? :D

Как вариант:
- при клике проверять значение некоего атрибута у элемента
- если он равен N-1 - событие наступило
- если нет - увеличивать значение того атрибута
- запускать таймер "сброса" этого атрибута
- при очередном клике убивать таймер и запускать, если нужно, еще раз

danik.js 09.10.2014 10:03

В современных браузерах в объекте события есть свойство e.detail, которое содержит число кликов. Но, в Firefox оно ограничено тремя кликами, а в IE считает клики, невзирая на расстояние между ними.
В старых IE вообще нет такого свойства.
Кроссбраузерную реализацию обработчика смотри тут:
https://github.com/ajaxorg/ace/blob/.../event.js#L162

Заметь, в объекте eventNames нет нужного тебе 5: "quintclick"

danik.js 09.10.2014 10:07

И да, таймаут будет использоваться системный, тот что выставлен в настройках мыши (кроме IE).
Вот старая реализация, с кастомными таймаутами (то есть e.detail не используется): https://github.com/ajaxorg/ace/blob/.../event.js#L174

strengerst 09.10.2014 13:53

Спасибо буду пробовать.


Часовой пояс GMT +3, время: 05:12.