русский  עברית
tadam logo
Нашли ошибку в тексте?
Отметьте её курсором и нажмите
Ctrl + Enter
Проверка орфографии Xhtml.co.il
Orphus system
Рассылка
Присоединитесь к списку рассылки для получения последних новостей

Введите адрес электронной почты:

.dblclick( handler(объектСобытия) )

Возвращает: jQuery

Описание: Привязывает обработчик события к событию "dblclick" JavaScript, или вызывает данное событие на элемент.

.dblclick( handler(объектСобытия) )

Добавлена в версию: 1.0
handler(объектСобытия)
Функция выполняется каждый раз, когда вызывается событие.

.dblclick( )

Добавлена в версию: 1.0

.dblclick( [ данныеСобытия ], обработчик(объектСобытия)

Добавлена в версию: 1.4.3
данныеСобытия
Карта данных, которая будет передана в обработчик событий.
обработчик(объектСобытия)
Функция для выполнения каждый раз, когда событие вызвано.

Этот метод является сокращением для .bind('dblclick', handler) в первом варианте, и .trigger('dblclick') во втором. Событие dblclick посылается элементу, когда элемент нажат дважды. Любой элемент HTML может получить это событие.

Рассмотрим, например, HTML:

<div id="target">
  Click here
</div>
<div id="other">
  Trigger the handler
</div>

Результат выполнения кода выше:
Click here
Trigger the handler

Обработчик события может быть привязан к любому <div>:

$('#target').dblclick(function() {
  alert('Handler for .click() called.');
});

Теперь, если дважды щелкнуть на этом элементе, будет выдано предупреждение:

Handler for .dblclick() called.

Мы можем также вызвать событие, когда другой элемент нажат:

$('#other').click(function() {
  $('#target').dblclick();
});

После выполнения этого кода, (одиночные) нажатия на Trigger the handler также выдадут сообщения.

Событие dblclick вызывается только после точной последовательности действий:

  • Кнопка мышки нажата, когда курсор находится внутри элемента.
  • Кнопка мышки отпущена, когда курсор находится внутри элемента.
  • Кнопка мышки снова нажата, когда курсор находится внутри элемента, в пределах временного окна, что зависит от системы.
  • Кнопки мышки отпущена, когда курсор находится внутри элемента.

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

Примеры

Пример 1

Чтобы выводить в сообщении alert текст «Hello World!» каждый раз при совершении двойного нажатия по каждому параграфу на странице, следует сделать:
$("p").dblclick( function () { alert("Hello World!"); });

Пример 2

Двойное нажатие изменяет цвет фона.
    var divdbl = $("div:first");
    divdbl.dblclick(function () { 
      divdbl.toggleClass('dbl'); 
    });
Результат выполнения кода выше:

Пример 2 - Полный код:

Двойное нажатие изменяет цвет фона.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
                    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>

<script src="http://code.jquery.com/jquery-latest.js"></script>
  
  <script type="text/javascript" language="javascript">

  $(document).ready(function(){
    
    var divdbl = $("div:first");
    divdbl.dblclick(function () { 
      divdbl.toggleClass('dbl'); 
    });

  });
  </script>

  <style>
  div { background:blue;
        color:white;
        height:100px;
        width:150px;
 }
  div.dbl { background:yellow;color:black; }
  </style>
</head>

<body>
  <div></div><span>Double click the block</span>

</body>
</html>
Была ли эта информация полезной?
   

Комментарии