jQuery как отличить click() и dblcick () для элемента DIV?

Если я подписываюсь на dblclick () и click () для элемента DIV и делаю двойной щелчок мышью на DIV, обработчик click () сначала вызывает dblclick (). Как избежать обработки click () перед dblclick ()?

обновление: Вопрос уже задавался раньше предотвратить событие щелчка от стрельбы, когда событие dblclick срабатывает. Но и здесь есть хорошие ответы.

2 ответов


наверное, не лучший способ сделать это: вы можете установить тайм-аут в функции обработчика click и очистить тайм-аут в функции обработчика doubleclick.

тайм-аут может вызвать функцию, которая будет осуществить то, что вы действительно хотите, чтобы произошло onClick, и таким образом вы можете использовать функцию dblclick() для обработки того, что происходит, когда пользователи дважды щелкают.


попробуйте это:http://jsfiddle.net/DAgyC/ Он реализует тайм-аут после первого щелчка, если есть двойной щелчок первый щелчок игнорируется.