没有焦点的Phonegap iOS键盘事件

问题描述 投票:0回答:1

我目前正在使用phonegap开发一个简单的iOS / Android应用。为了改善用户体验,该应用程序提供了许多快捷方式。 (需要物理键盘)。为了处理快捷方式事件,我将onkeypress事件与JQuery结合使用,在Android上效果很好。不幸的是,没有事件在IOS上触发。如果将焦点设置为输入元素,则onkeypress侦听器将按预期工作。

我的问题:如何在不将焦点设置为输入元素的情况下检测iOS上的按键事件?是否有任何插件或解决方法来解决此问题?

更新

我已经尝试了正常的输入字段,并且一切正常。如果我将输入更改为隐藏的输入,则该代码将无法再使用。

jquery ios cordova jquery-events
1个回答
0
投票

我找到了解决问题的方法:

我添加了一个包含输入字段的div,该div的z索引为-10,所以它不会出现

隐藏字段始终拥有焦点,直到选择了另一个输入字段。新选择的输入字段具有模糊功能,可将焦点恢复到隐藏字段。

隐藏字段

<div style="position:absolute;width:1px;heigth:1px;overflow:hidden">
        <input type="text" id="hiddencode" style="position:absolute;left:10px;top:10px;z-index:-1"/>
</div>

js部分

var blurFunction = function(e) {


     setTimeout(function(){
          console.log(document.activeElement); // This is the element that has focus
          if($(document.activeElement).is("input") || (document.activeElement).is("select")) {

             $(document.activeElement).blur(blurFunction);
         }
         else {
             $('#hiddencode').focus();
         }
         $('#hiddencode').val("");
     });
};
$('#hiddencode').focus();
© www.soinside.com 2019 - 2024. All rights reserved.