2010-02-12 60 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插件。

相關問題