只要按住鼠标,如何在javascript中调用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

我正在实现一个操纵杆控制,只要用户按住鼠标点击,我想在每100毫秒后调用mousedown函数。我怎么能触发这个

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