我正在开发基于混合应用程序的phonegap(版本6+)。我最近注意到,在按下Android移动硬件后退按钮时,在以下情况下不会触发phonegap "backbutton"
事件:
"backbutton"
事件被触发"backbutton"
事件,并且select元素不会触发{{ 1}}或blur
事件在谷歌上搜索我可以看到这似乎是一个已知的问题,但是,我的问题是:第一种情况有一种解决方法,我可以听取窗口focusout
事件。但是对于第二种情况,即选择元素关闭,我不确定如何捕获该事件? resize
和blur
无法正常工作。有没有解决方法或解决方案呢?
感谢您的帮助。
答案 0 :(得分:1)
如果你想要一个解决方法,那么你可以设置函数来检查点击是否打开或关闭选择框然后如果它打开假设置变量为真并关闭然后如下所示为假。
//set variable global
var clickedDropdown;
$("select").bind("click", function () {
var clickedDropdown = $(this);
if (clickedDropdown.data('open') == false) {
clickedDropdown.data('open', true);
console.log(this.name + " open");
//Your code goes here
} else {
clickedDropdown.data('open', false);
console.log(this.name + " closed");
//Your code goes here
}
});
<强>更新强>
$(document).ready(function(){
setTimeout(function(){
document.addEventListener('backbutton', function(e){
if (clickedDropdown.data('open') == true) {
$( "select" ).trigger( "click" );
//or
//You can set blur or focusout event if dropdown already open
} else {
//You can set another function for backbutton pressed event
}
});
},500);
});