在网站上听鼠标举办活动?
我知道’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); }); });