如果鼠标按下则调用该函数

时间:2013-05-09 09:34:34

标签: javascript jquery

我有以下代码调用函数。但是,我希望仅在Mouse Up事件时才调用该函数。

positionMenu : function(){
        if (positionMenuInvalidated) return;
        positionMenuInvalidated = true;
        setTimeout(_positionMenuNow,1); }

_positionMenuNow中调用的setTimeout只有在鼠标启动时才会发生。如何满足这一条件?

2 个答案:

答案 0 :(得分:2)

使用.on()将事件绑定到处理函数:

$('body' /* or any other selector */).on('mouseup', _positionMenu);
   ^                                      ^           ^
selection that the handler is bound to | event type | handler function (can also be an anonymous function)

了解.on()

答案 1 :(得分:0)

在执行超时时,我认为检查鼠标是否启动不是一个好主意。相反,如果在mouseup被触发后触发超时,则会更好。

$('body').on('mouseup', function() {
   setTimeOut("_positionMenu()", 1000);