Описание: Привязывает обработчик события к событию "dblclick" JavaScript, или вызывает данное событие на элемент.
.dblclick( handler(объектСобытия) )
.dblclick( )
.dblclick( [ данныеСобытия ], обработчик(объектСобытия)
Этот метод является сокращением для .bind('dblclick', handler)
в первом варианте, и .trigger('dblclick') во втором.
Событие dblclick посылается элементу, когда элемент нажат дважды.
Любой элемент HTML может получить это событие.
Рассмотрим, например, HTML:
<div id="target"> Click here </div> <div id="other"> Trigger the handler </div>
Обработчик события может быть привязан к любому <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>

