2010-02-12 4 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 이벤트를보고, 스페이스 바를 확인하고, 작동 중지되었다는 것을 나타내는 변수를 설정하고, keyup 이벤트가 표시 될 때 설정을 해제해야합니다.

그렇다면 스페이스 바를 눌렀 음을 나타내는 변수가 설정되었을 때 마우스 움직임을 찾습니다. jQuery를하고 Dragscrollable 플러그인과

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; 
    }); 

}); 

작품 :

+0

+1 나를 이길. –

관련 문제