2010-02-12 61 views

回答

53

您可以使用keydown()keyup()来跟踪空格键是否被按下,并在您的mousemove()事件处理程序中查看该状态。例如:

var space = false; 
$(function() { 
    $(document).keyup(function(evt) { 
    if (evt.keyCode == 32) { 
     space = false; 
    } 
    }).keydown(function(evt) { 
    if (evt.keyCode == 32) { 
     space = true; 
     console.log('space') 
    } 
    }); 
}); 

然后你的mousemove()处理程序可以看到它是否被按下。

4

您可能需要关注keydown事件,检查是否有空格键,设置变量表示它已关闭,在发现关键事件时取消设置。

因此,当设置该变量指示空格键被按下时,您将查找鼠标移动。

+0

+1击败我吧。 – 2010-02-12 02:06:33

3

这是我的解决方案:

var allowed = true; 
$(document).ready(
function() { 
    $(document).bind('keydown', 'space', function() { 
     if (!allowed) return; 
     allowed = false; 
     $('#viewport'). 
      dragscrollable(); 
    }); 
    $(document).bind('keyup', 'space', function() { 
     allowed = true; 
     $('#base').off('mousedown'); 
     return false; 
    }); 

}); 

工程与jQuery和Dragscrollable插件。

相关问题