#javascript #cordova #polymer
#javascript #кордова #полимер
Вопрос:
Я использую Polymer с Apache Cordova.
Я хочу привязать «кнопку возврата» Android, чтобы закрыть диалоговое окно. К сожалению, чтобы получить доступ к ShadowDOM, я нахожусь внутри Polymer js. Но backbutton, похоже, недоступен из полимерного «объекта».
Вот мой код :
<script>
Polymer({
// handle back button
toggleDialog: function(event, detail, sender) {
var dialog = this.shadowRoot.querySelector('#askOptionImgDialog');
dialog.toggle();
},
ready: function() {
document.addEventListener("backbutton", this.toggleDialog(), false);
}
});
</script>
Ничего не делать.
Я пробовал это :
<script>
Polymer({
// handle back button
toggleDialog: function(event, detail, sender) {
var dialog = this.shadowRoot.querySelector('#askOptionImgDialog');
dialog.toggle();
}
});
document.addEventListener("backbutton", ???????.toggleDialog(), false);
</script>
И кнопка «Назад», похоже, срабатывает, но я не знаю, как получить доступ к функции polymer снаружи.
Есть идеи?
Спасибо.
Ответ №1:
Почему бы просто не обернуть все в одно закрытие?
<script>
Polymer({domReady:
function() {
document.addEventListener("backbutton",
function(event, detail, sender) {
var dialog = this.shadowRoot.querySelector('#askOptionImgDialog');
dialog.toggle();
}, false);
}
});
</script>
Комментарии:
1. Потому что я должен «переключать» это окно также при нажатии на элемент, и я не хочу дублировать код.
2. Можете ли вы перефразировать это @FrPolymer? Что вам нужно переключать и когда?
3. Когда пользователь нажимает кнопку de (on tap), я отображаю диалоговое окно paper. Я хочу, чтобы пользователь закрыл этот документ-диалог, нажав кнопку «Назад» на своем телефоне.