我正在实现一个操纵杆控件,我想在每100毫秒后调用mousedown函数,只要用户点击鼠标即可。我怎么能触发这个?
var hammer = Hammer(document.getElementById('joystick'));
hammer.on("mousemove", onMouseMove);
hammer.on("mousedown", onMouseDown);
上面的代码最初只调用mousedown。要再次触发它,我必须释放鼠标按钮并再次单击。
答案 0 :(得分:1)
jQuery中的这样的东西(从我已经拥有的代码中删除)
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
});
在我的情况下,动画需要350ms才能移动,所以我每隔350ms触发一次,你可能需要不同的东西。
这不是最好的'代码,因为你可能会得到重复的点击,所以你的//可能需要处理它。