2015-01-20 2 views

ответ

2

Bug 989198 является ошибкой подвергать KeyDown/KeyUp событий в приложениях. И этот wiki page описывает этот новый диспетчерский механизм KeyboardEvent. В настоящее время на FFOS-телефоне версии 2.2 и более поздней версии, только VolumeUp и VolumeDown ключевые события будут отправлены в приложения.

На Ffos 2,2, а затем любые приложения могут слушать keydown или keyup события кнопок громкости вниз громкости вверх и. События, отправленные обработчикам, являются регулярными KeyboardEvent (так же, как и в настольном браузере). Когда пользователь нажимает громкость или громкость, KeyboardEvent с .key = VolumeDown или VolumeUp будет отправлен на сфокусированное приложение. И если вы хотите запретить системному приложению обрабатывать их (т. Е. Уменьшать громкость или вверх), просто вызовите 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-preerelease. Просто зарегистрировал это как ошибку [1138745] (https://bugzilla.mozilla.org/show_bug.cgi?id=1138745). – feklee

Смежные вопросы