繁体   English   中英

在网站上听鼠标举办活动?

[英]listen to mouse hold event on website?

我知道'mousedown'就是当用户按下鼠标时,'mouseup'就是当用户释放鼠标时。 但是我想在用户按下鼠标并按住它直到它释放后听这个事件。 有任何想法吗?

如果你想要保持状态,那么当你处于mousedown事件状态一段时间时它就是状态。 moused而不是mouseup时会出现此状态。 因此,您需要获取一个记录事件当前状态的变量。

JS

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

工作小提琴

试试这个

将相应的鼠标事件添加到以下函数中

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;
}

来自jquery.com:

HTML:

<p>Press mouse and release here.</p>

脚本:

$("p").mouseup(function(){
    $(this).append('<span style="color:#F00;">Mouse up.</span>');
}).mousedown(function(){
    $(this).append('<span style="color:#00F;">Mouse down.</span>');
});

完整网址: http//api.jquery.com/mousedown/

 var setint = ''; $(document).ready(function() { var val = 0; $('#hold').on('mousedown',function (e) { clearInterval(setint); val = 0; setint = setInterval(function () { $("#putdata").val(++val); console.log("mousehold"); },50); }); $('#hold').on("mouseleave mouseup", function () { val = 0; $("#putdata").val(val); clearInterval(setint); }); }); 
 <!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> </head> <body> <input type="text" id="putdata" /> <input type="button" value="mouse-hold" id="hold" /> </body> <html> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM