我有以下代码调用函数。但是,我希望仅在Mouse Up
事件时才调用该函数。
positionMenu : function(){
if (positionMenuInvalidated) return;
positionMenuInvalidated = true;
setTimeout(_positionMenuNow,1); }
_positionMenuNow
中调用的setTimeout
只有在鼠标启动时才会发生。如何满足这一条件?
答案 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);