Мне просто интересно, почему click
событие происходит, когда я dbclick
элемент?Слушайте двойной щелчок не нажимайте
У меня есть этот код :(JSBIN)
HTML
<p id="hello">Hello World</p>
JavaScript
document.getElementById('hello').addEventListener('click', function(e){
e.preventDefault();
this.style.background = 'red';
}, false);
document.getElementById('hello').addEventListener('dbclick', function(){
this.style.background = 'yellow';
}, false);
Это должны делать разные вещи для мыши и двойным щелчком, но, кажется, когда вы дважды щелкаете по p
его коту ch click
событие заранее и игнорировать двойной щелчок.
Я пробовал preventDefault
мероприятие click
. Как я могу слушать только dbclick
?
UPDATE
я имел опечатка в моем коде. dbclick
ошибочно. Это dblclick
. В любом случае проблема все еще существует. Когда пользователь дважды щелкает, происходит событие click
.
Это обновленный код, доказать это :(JSBin)
document.getElementById('hello').addEventListener('click', function(e){
e.preventDefault();
this.style.background = 'red';
this.innerText = "Hello World clicked";
}, false);
document.getElementById('hello').addEventListener('dblclick', function(){
this.style.background = 'green';
}, false);
Вы имеете в виду 'dblclick', предположительно , –
Этот вопрос сделан из-за опечатки. Хотел бы я удалить его! – Mohsen
Почему ?! В ответах есть и другие важные моменты. Пожалуйста, не игнорируйте приведенные советы только потому, что вы сделали опечатку. Вопрос «Как я могу слушать _just_' dblclick' »_not_ решил, установив вашу опечатку. –