连续鼠标点击事件

时间:2011-07-06 12:35:22

标签: javascript html javascript-events

鼠标连续点击是否有任何事件,即不释放鼠标按钮1?如果不是,请告诉我。

谢谢和问候。

6 个答案:

答案 0 :(得分:18)

按下鼠标按钮时会触发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中看到此内容。

答案 1 :(得分:2)

有一个JQuery plugin: LongClick

Longclick是媒体&amp;为jQuery 1.4.x保持鼠标按钮“长按”特殊事件。

当鼠标按键保持按下一段(可配置的)秒数时触发事件,而指针是固定的。

答案 2 :(得分:0)

没有这样的事件。

您可以实现的目的是评估(第一次)鼠标点击以下鼠标释放之间经过的时间。

给定预定义的范围,您可以确定按钮被点击多长时间,然后才能在逻辑中被视为有效。

答案 3 :(得分:0)

根据spec

  

点击被定义为mousedown和   鼠标悬停在同一屏幕位置。   这些事件的顺序是:   mousedown,mouseup,单击

所以不,没有“连续点击”,因为点击是一系列动作导致的离散事件。

你可能想要做的是接收mousedown,设置一个计时器,如果在一段时间内没有鼠标移动或鼠标移动,请调用某些行为。

答案 4 :(得分:0)

是的,您可以使用onmousemove= movefunction(event)

执行此操作

我要解决的问题如下:

首先,创建一个onmousedown()事件,在触发时将全局变量设置为1

其次,创建一个onmouseup()事件,在触发时将该全局变量设置为0

然后,使用onmousemove()事件在我想要发生鼠标按下行为的div中触发,但前提是我们之前设置的全局变量设置为1

有关如何使用onmousemove()http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_onmousemove

的示例

完成。

答案 5 :(得分:0)

import java.awt.Robot;
import java.awt.event.*;
public class App {
    private static final int key = InputEvent.BUTTON1_DOWN_MASK;
    public static void main(String[] args) {
        System.out.println("Hello, World!");
        Robot robot;
        while (1==1) {
            try {
                robot = new Robot();
                robot.mousePress(key);
                robot.mouseRelease(key);
                // robot.mouseMove(x, y);// x,y are cordinates
                // Simulate a mouse click
                robot.mousePress(key);
                robot.mouseRelease(key);
                Thread.sleep(3000);
                // Simulate a key board press
                // robot.keyPress(KeyEvent.VK_A);
                // robot.keyRelease(KeyEvent.VK_A);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}