只要按住鼠标,如何在javascript中调用mousedown事件
我正在实现一个操纵杆控制,只要用户按住鼠标点击,我想在每100毫秒后调用mousedown函数。我怎么能触发这个只要按住鼠标,如何在javascript中调用mousedown事件,javascript,hammer.js,Javascript,Hammer.js,我正在实现一个操纵杆控制,只要用户按住鼠标点击,我想在每100毫秒后调用mousedown函数。我怎么能触发这个 var hammer = Hammer(document.getElementById('joystick')); hammer.on("mousemove", onMouseMove); hammer.on("mousedown", onMouseDown); 上面的代码最初只调用mousedown一次。要再次触发它,我必须释放鼠标按钮,然后再次单击。jQ
var hammer = Hammer(document.getElementById('joystick'));
hammer.on("mousemove", onMouseMove);
hammer.on("mousedown", onMouseDown);
上面的代码最初只调用mousedown一次。要再次触发它,我必须释放鼠标按钮,然后再次单击。jQuery中类似的内容(摘自我已有的代码) 在我的例子中,动画移动需要350毫秒,所以我每350毫秒触发一次,你可能需要一些不同的东西
这不是“最佳”代码,因为您可能会重复单击,因此您的//执行某些操作可能需要处理该问题。是否会手动触发$$.trigger('click');有真实鼠标事件的值吗?我不知道-您需要测试它并查看。
var longClickTimer;
$('#thing_to_click').on('mousedown', function(e) {
var $$ = $(this);
longClickTimer = setInterval(function(){
$$.trigger('click');
}, 350);
});
$('#thing_to_click').on('mouseup', function(e) {
clearInterval(longClickTimer);
});
$('#thing_to_click').on('click', function(e) {
e.preventDefault();
// do something
});