【问题标题】:Call a function when the 'done' button is pressed on the keyboard in Cordova [duplicate]在科尔多瓦的键盘上按下“完成”按钮时调用一个函数[重复]
【发布时间】:2016-03-30 03:21:14
【问题描述】:

我有一个在 iOS 上运行的 Cordova 应用程序。我已经用这个 html 实现了一个搜索框:

<form>
  <input type="search" class="historySearchTextbox" id="myFilter" placeholder="Search" spellcheck="false" autocorrect="off">
</form>

这很好用,并在弹出键盘上给了我一个“开始”按钮而不是返回。我可以用这个 javascript 捕捉 Go 按钮上的点击:

$('#myFilter').on('keyup', function (e) {
    var theEvent = e || window.event,
        keyPressed = theEvent.keyCode || theEvent.which;
    if (keyPressed === 13) {
        filter();
        document.activeElement.blur();
    }
    return true;
});

但我仍然需要处理键盘上的“完成”按钮。我相信没有我可以使用的键码,我自己的测试也同意。根据阅读堆栈溢出的答案,我能做的最好的就是检测键盘何时消失。我正在使用这个 javascript:

$("#myFilter").bind('blur', function (event) {
    window.alert("blur");
});

这可行,但我宁愿直接检测“完成”按键。

有什么建议吗?

谢谢!

乔恩

【问题讨论】:

  • 我做的是听把字段放在一个表单上,当你 push go 时,提交事件被调用

标签: javascript ios cordova


【解决方案1】:

完成键与回车键相同。所以你可以听一个按键事件。我正在使用 jQuery 编写它,并在咖啡脚本中使用它,所以我试图将它转换回我脑海中的 js。如有错误请见谅。

$('someElem').bind("keypress", function(e){
// enter key code is 13
if(e.which === 13){
    console.log("user pressed done");
} 
})

【讨论】:

  • 您好,感谢您的快速回复。虽然我只是尝试过,但当我点击“完成”按钮时它不会触发。另外,我应该提到我希望 Go 按钮和 done 按钮做不同的事情。
  • 这绝对不是真的,这个答案应该删掉
猜你喜欢
  • 2017-06-30
  • 2018-06-20
  • 2023-03-09
  • 2016-02-24
  • 2015-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多