dblclick

Что такое событие dblclick и чем оно отличается от click?"

Время чтения: меньше 5 мин

Это незавершённая статья. Вы можете помочь её закончить! Почитайте о том, как контрибьютить в Доку.

Кратко

Скопировано

Событие двойного клика на HTML-элементе происходит, когда пользователь в течение короткого времени дважды кликает один элемент. Временной промежуток между кликами должен быть небольшим, иначе браузер интерпретирует его не как dblclick, а как несколько отдельных click-событий.

Как пишется

Скопировано

На событие dblclick можно подписаться и информировать пользователя, например:

        
          
          document.addEventListener('dblclick', event => {  alert('На странице зафиксирован двойной клик!')})
          document.addEventListener('dblclick', event => {
  alert('На странице зафиксирован двойной клик!')
})

        
        
          
        
      

Также можно отслеживать двойные клики по любым элементам на странице:

        
          
          const card = document.querySelector('.card')// Установим обработчик на событие двойного кликаcard.addEventListener('dblclick', function () {  alert('Вы дважды кликнули по карточке!')})
          const card = document.querySelector('.card')

// Установим обработчик на событие двойного клика
card.addEventListener('dblclick', function () {
  alert('Вы дважды кликнули по карточке!')
})

        
        
          
        
      

В функцию-обработчик можно передать объект события, который содержит поля с информацией о клике, например:

  • target — ссылка на целевой DOM-элемент, на котором произошло событие.
  • type — тип события.

Чтобы получить доступ к объекту события, функция-обработчик должна принимать его в качестве параметра:

        
          
          card.addEventListener('dblclick', function (event) {  alert(event.target.classList)  // Отображает название класса элемента,  // по которому дважды кликнули})
          card.addEventListener('dblclick', function (event) {
  alert(event.target.classList)
  // Отображает название класса элемента,
  // по которому дважды кликнули
})

        
        
          
        
      

В примере ниже двойной клик по карточке меняет её размер:

        
          
          const card = document.querySelector('.card')card.addEventListener('dblclick', function () {  // Модификатор увеличивает размер карточки  card.classList.toggle('card_enlarged')})
          const card = document.querySelector('.card')

card.addEventListener('dblclick', function () {
  // Модификатор увеличивает размер карточки
  card.classList.toggle('card_enlarged')
})

        
        
          
        
      
Открыть демо в новой вкладке