【发布时间】:2015-01-20 17:01:52
【问题描述】:
Firefox OS 应用程序能否检测到何时按下音量增大按钮?如果有,怎么做?
(可能只是document的一个关键事件,还没试过)
【问题讨论】:
标签: javascript firefox-os
Firefox OS 应用程序能否检测到何时按下音量增大按钮?如果有,怎么做?
(可能只是document的一个关键事件,还没试过)
【问题讨论】:
标签: javascript firefox-os
Bug 989198 是向应用程序公开 keydown/keyup 事件的错误。而这个wiki page 描述了这个新的KeyboardEvent 调度机制。目前在 FFOS 手机 v2.2 及更高版本 上,只有 VolumeUp 和 VolumeDown 键事件会被调度到应用程序中。
在 FFOS 2.2 及更高版本上,任何应用程序都可以监听keydown 或keyup 音量增大和音量减小按钮事件。
分派给处理程序的事件是常规的KeyboardEvents(与桌面浏览器中的相同)。当用户按下音量减小或音量增大时,带有.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);
【讨论】: