Есть ли какие-либо события, созданные непрерывным щелчком мыши, то есть, не отпуская кнопку мыши 1? Если нет, сообщите мне.Непрерывное событие щелчка мыши
Спасибо и приветствую.
Есть ли какие-либо события, созданные непрерывным щелчком мыши, то есть, не отпуская кнопку мыши 1? Если нет, сообщите мне.Непрерывное событие щелчка мыши
Спасибо и приветствую.
Событие mousedown
запускается при нажатии кнопки мыши. Если вы ищете событие, которое срабатывает многократно, а кнопка удерживается нажатой, вам не повезло, но вы можете использовать событие mousedown
для многократного выполнения действия и остановки при срабатывании события mouseup
.
Например, вы можете использовать функцию setInterval
для многократного вызова функции при нажатии кнопки мыши, а затем использовать clearInterval
для остановки при отпускании кнопки мыши. Вот пример (с помощью JQuery):
var interval;
$("#elementToClick").mousedown(function() {
interval = setInterval(performWhileMouseDown, 100);
}).mouseup(function() {
clearInterval(interval);
});
function performWhileMouseDown() {
$("#output").append("<p>Mouse down</p>");
}
Вы можете увидеть это работает в этом example fiddle.
спасибо. На самом деле я использую калитки и пытаюсь получить ajaxEvent, с помощью которого я могу выполнить выполнение на стороне сервера. –
Обратите внимание, что это не учитывается, когда пользователь «mousedown» находится в целевом элементе, но затем перемещает мышь от элемента и «mouseup» находится где-то в другом месте. В этом случае 'performWhileMouseDown' будет продолжать работать неограниченно. Чтобы решить эту проблему, вместо этого вы можете вместо этого привязать к событию 'mouseup'' document': http://jsfiddle.net/An2as/ –
@BillDami. Вы также можете просто установить событие mouseout для элемента clearInterval. Затем и «mouseup», и «mouseover» останавливают повторение. На всякий случай вам понадобится событие mouseup для другого элемента. – Deanie
Не существует такого мероприятия.
Что вы можете реализовать для достижения этой цели - это функция, которая оценивает время, прошедшее между (первым) щелчком мыши и последующим выпуском мыши.
Учитывая предопределенный диапазон, вы можете установить, как долго должна быть нажата кнопка, прежде чем считаться действительной в вашей логике.
Почему downvote (без комментариев)? – Francesco
Существует JQuery plugin: LongClick
Longclick прессовой & удерживать кнопку мыши «долго нажмите» специальное мероприятие для JQuery 1.4.x.
Событие запускается, когда кнопка мыши остается нажатой для (настраиваемого) количества секунд, в то время как указатель является канцелярским.
ваша ссылка не работает. –
Согласно spec,
Клик определяется как MouseDown и MouseUp над тем же местом экрана. Последовательности этих событий: MouseDown, MouseUp, нажмите
Так нет, нет «непрерывный щелчок», потому что щелчок события Дискретного в результате последовательности действий.
Что вы, вероятно, захотите сделать, это получить mousedown, установить таймер, и если в течение некоторого времени не появятся мыши или mousemove, вызовите некоторое поведение.
Да, вы можете сделать это с помощью onmousemove= movefunction(event)
:
Что я сделал, чтобы решить эту проблему заключается в следующем:
Во-первых, создать onmousedown()
событие, которое устанавливает глобальную переменную 1
при запуске.
Во-вторых, создайте событие onmouseup()
, которое устанавливает эту глобальную переменную в 0
при срабатывании.
Затем, используйте событие onmousemove()
для запуска в div, где я хочу, чтобы поведение мыши было выполнено, но только если установленная ранее глобальная переменная установлена в 1
.
пример того, как использовать onmousemove()
: http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_onmousemove
Done.
Я не думаю, что это имеет какое-либо отношение к Java, поэтому я удалил этот тег. Замените его, если я ошибаюсь. – lonesomeday
Событие 'mousedown'? –
нет спасибо ... –