13

「mousedown」はユーザーがマウスを押したとき、「mouseup」はユーザーがマウスを離したときです。しかし、ユーザーがマウスを押した後、イベントをリッスンし、離すまで押し続けたいと思います。何か案は?

4

4 に答える 4

10

ホールド状態にしたい場合は、しばらくmousedownイベント状態にあるときの状態になります。この状態は、mouseupではなくmousedownを押したときに存在します。したがって、イベントの現在の状態を記録する変数を取得する必要があります。

JS

$('div').on('mousedown mouseup', function mouseState(e) {
    if (e.type == "mousedown") {
        //code triggers on hold
        console.log("hold");
    }
});

働くフィドル

于 2013-09-03T05:22:26.467 に答える
4

これを試して

以下の関数にそれぞれのマウスイベントを追加します

mouse = false;
function mousedown()
{
  mouse = true;
  callEvent();
}
function mouseup()
{
  mouse =false;
}
function callEvent()
{
 if(mouse)
 {
   // do whatever you want
   // it will continue executing until mouse is not released


   setTimeout("callEvent()",1);
 }
 else
 return;
}
于 2013-09-03T05:17:58.960 に答える