Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.10.2014, 09:29
Аватар для strengerst
Аспирант
Отправить личное сообщение для strengerst Посмотреть профиль Найти все сообщения от strengerst
 
Регистрация: 03.02.2012
Сообщений: 82

Как подсчитать 5 кратное нажатие мыши
Как организовать так что бы только после 5 кратного нажатия мыши выполнялось прописанное действие допустим показать скрытый элемент.
Причем если на элементе нажали 4 раза а 5 только через время 30сек примерно но вобщем не сразу то показ скрытого элемента не срабатывал бы. А показывался лишь когда сразу 5 раз счелкнишь на элементе.
Ответить с цитированием
  #2 (permalink)  
Старый 09.10.2014, 09:44
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

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

Как вариант:
- при клике проверять значение некоего атрибута у элемента
- если он равен N-1 - событие наступило
- если нет - увеличивать значение того атрибута
- запускать таймер "сброса" этого атрибута
- при очередном клике убивать таймер и запускать, если нужно, еще раз
Ответить с цитированием
  #3 (permalink)  
Старый 09.10.2014, 10:03
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

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

Заметь, в объекте eventNames нет нужного тебе 5: "quintclick"
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #4 (permalink)  
Старый 09.10.2014, 10:07
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

И да, таймаут будет использоваться системный, тот что выставлен в настройках мыши (кроме IE).
Вот старая реализация, с кастомными таймаутами (то есть e.detail не используется): https://github.com/ajaxorg/ace/blob/.../event.js#L174
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #5 (permalink)  
Старый 09.10.2014, 13:53
Аватар для strengerst
Аспирант
Отправить личное сообщение для strengerst Посмотреть профиль Найти все сообщения от strengerst
 
Регистрация: 03.02.2012
Сообщений: 82

Спасибо буду пробовать.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отслеживать нажатие кнопки back Петр Общие вопросы Javascript 4 01.10.2009 16:06
Как правильно послать XML в POST запросе LowCoder AJAX и COMET 10 15.07.2009 23:20
Как имитировать событие мыши Andrey_V Общие вопросы Javascript 4 10.11.2008 16:39
как отделить нажатие символьных клавиш от функциональных? Kos Events/DOM/Window 50 03.10.2008 12:08
Нажатие Левой и Правой кнопок мыши SergeiAzarov Общие вопросы Javascript 7 11.05.2008 16:57