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

我知道’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:

 

Press mouse and release here.

脚本:

 $("p").mouseup(function(){ $(this).append('Mouse up.'); }).mousedown(function(){ $(this).append('Mouse down.'); }); 

完整url: 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); }); });