Вчера я изменил страницу EPG на стойке и столкнулся с небольшой проблемой. Когда пользователи приобретают игры, диалоговое окно подтверждения покупки необходимо всплыть. Фокус по умолчанию в диалоговом окне должна быть на кнопке «Отмена». Это очень простое требование, и это может быть достигнуто с помощью метода Focus () JavaScript (). Простые примеры кода следующие:
document.getElementById ("accell"). Focus ()Но тяжело то, что стойкая коробка действительно большая яма. Поскольку он совместим со всеми существующими моделями Settop Box, необходимо адаптировать 8 серийных полетов. Тогда возникла проблема! Частое поле ZTE B600 не может вообще установить фокус на кнопку отмены. Вот мои решения:
Во-первых, подтвердите, поддерживает ли Settop Box метод getElementbyId () и успешно ли он получил элемент с идентификатором «Отмена»: метод испытания очень прост. Я напрямую написал еще один <p id = "test"> test </p>, а затем получил элемент с идентификатором «тест» в том же месте и выполнил простой документ.
Наконец, я использовал «Попробуй ... поймать (e) ...», чтобы поймать причину, почему «Focus ()» не удалось
try () {<span style = "Белое пространство: pre"> </span> document.getElementbyId ("cancel"). Focus ()} catch (e) {<span style = "Белое пространство: pre"> </span> alert (e.name + ":" + e.what ()); }Но это просто странно! Результаты вышеупомянутых двух шагов показывают, что Settop Box поддерживает Focus () и GetElementById (), но он просто не может установить фокус на диалоговое окно всплывающего окна.
После более чем часа борьбы, наконец -то появился Большой Босс, и он решил проблему с помощью простого предложения! Можно активно позвонить в Flur (), чтобы отменить исходный фокус!
Document.getElementById ("покупка"). Flur ()Затем проблема была решена. Я должен выразить свои чувства! В процессе решения этой проблемы мои собственные идеи на самом деле довольно правильные, но я, очевидно, недостаточно. Разрыв между общими программистами и старшими программистами заключается не только в решении проблем, но и о опыте и знаниях!