2015-01-20 12 views

답변

2

Bug 989198 앱에 /의 keyup 이벤트를 keyDown 노출하는 버그 (어쩌면 document에 불과 키 이벤트입니다, 아직 시도하지 않은). 그리고이 wiki page은이 새로운 KeyboardEvent 발송 메커니즘을 설명합니다. 현재 FFOS 전화 v2.2 이상 버전에서는 VolumeUpVolumeDown 키 이벤트 만 앱에 전달됩니다.

FFOS 2.2에 이후, 어떤 애플리케이션은 볼륨 업 및 볼륨 다운 버튼의 keydown 또는 keyup 이벤트를 수신 할 수있다. 핸들러에 전달되는 이벤트는 보통 KeyboardEvent (데스크톱 브라우저에서와 동일)입니다. 사용자가 볼륨 다운 또는 볼륨 업을 누르면 .key = VolumeDown 또는 VolumeUp의 KeyboardEvent가 포커스가있는 앱으로 전달됩니다. 시스템 앱이 볼륨을 처리 (예 : 볼륨을 위나 아래로)하는 것을 막으려면 키 이벤트 핸들러에서 event.preventDefault()으로 전화하면됩니다.

여기 keydown 이벤트 처리의 예 :

var keyDownHandler = function(evt) { 
    if (evt.key === 'VolumeDown') { 
    // process logic of volume-down 
    } else if (evt.key === 'VolumeUp') { 
    // process logic of volume-up 
    } 
    evt.preventDefault(); // to stop system app from processing keydown event 
}; 

window.addEventListener('keydown', keyDownHandler); 
+0

내 화염에 2.2.0.0-시험판 작업을 확인했다. – feklee

+0

오늘 3.0.0.0-prerelease에서 더 이상 작동하지 않습니다. 그냥 버그 [1138745] (https://bugzilla.mozilla.org/show_bug.cgi?id=1138745)로 제출했습니다. – feklee