Android手机硬件后退按钮不点火“后退按钮”事件,有时
问题描述:
我工作的一个PhoneGap的(版本6+)的混合应用。最近,我注意到,在按下Android手机硬件后退按钮时,PhoneGap的"backbutton"
事件不会在以下circusmstances触发:Android手机硬件后退按钮不点火“后退按钮”事件,有时
-
输入或textarea元素是重点和软键盘达: 在这种情况下,硬件后退按钮关闭软键盘,但无论是元素失去重点也不是
"backbutton"
触发的事件 -
选择元件开放,在这种情况下,硬件后退按钮使得选择元件关闭,但
"backbutton"
事件没有被触发,select元素没有被触发igger一个blur
或focusout
事件
在谷歌上搜索,我可以看到,这似乎是一个已知的问题,但是,我的问题是:有一个地方我可以听窗口resize
事件第一种情况的解决方法。但对于第二种情况,即select元素关闭,我不确定如何捕获该事件? blur
和focusout
不起作用。有没有解决方法吗?
感谢您的任何帮助。
答
如果你想解决类似的问题的解决方案,那么你可以设置功能来检查,如果点击选择框是打开或关闭,然后,如果它的开放虚假变量设置为true,然后关闭假像下面。
//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);
});
你想达到什么样的? – Akis
@Akis我希望在选择元素失去专注 – DevD