Я разрабатываю Tizen Webapp для часов с вводом лицевой панели.
Чтобы прослушать событие поворота панели в HTML-документе, я использовал следующий код:
rotaryDetentCallback = function rotaryDetentHandler(e) {
var direction = e.detail.direction;
if (direction === "CW") {
alert("<-");
} else if (direction === "CCW") {
alert("->");
}
};
document.addEventListener("rotarydetent", rotaryDetentCallback, false);
console.log(document.hasFocus());//returns true
$('select').on('change', function(){
console.log(document.hasFocus()); //Prints false
document.activeElement.blur(); //doesnt work
window.focus(); //doesnt work
document.focus(); //retuns error
});
Слушатель rotarydetent
прекрасно работает, но после того, как я изменил любой элемент Select в приложении во время выполнения, документ теряет фокус, и событие больше не запускается.
Как вернуть фокус на объект document
после изменения выбора?
PS: стандартный пользовательский интерфейс для выбора тега в носимых веб-приложениях Tizen также использует лицевую панель, поэтому я предполагаю, что он берет EventListener из документа и не возвращает его.