如果按住鼠标,如何在javascript中调用mousedown事件

时间:2014-04-03 15:43:47

标签: javascript hammer.js

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

    var hammer = Hammer(document.getElementById('joystick'));
    hammer.on("mousemove", onMouseMove);
    hammer.on("mousedown", onMouseDown);

上面的代码最初只调用mousedown。要再次触发它,我必须释放鼠标按钮并再次单击。

1 个答案:

答案 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触发一次,你可能需要不同的东西。

这不是最好的'代码,因为你可能会得到重复的点击,所以你的//可能需要处理它。