当键盘启动iOS 7时,不会捕获表单提交按钮事件

我正在使用针对iOS的cordova构建一个Web应用程序。 我有这个表格

在我的javascript中,我有一个提交事件的监听器。

我的问题是,当键盘在iOS中显示时,单击提交按钮并不总是触发提交事件。 有些时候它会在前2次工作,但之后会停止工作。 以前遇到过这种情况的人?

现在你可能需要先点击键盘上的“完成”(让它消失),然后使用提交按钮。 或者,单击提交按钮,键盘显示将使键盘隐藏,然后再次单击提交。

有任何想法吗?

编辑

它在iOS 6上工作正常,但在iOS 7上,提交按钮在前2次点击后不会触发事件。

所以我解决了我遇到的问题。 正如问题所述,它适用于ios6和android。 但对于ios7,我注意到当我增加提交按钮上方文本字段的高度时,我得到了上述错误。 当我没有添加任何影响提交按钮上方元素高度的非默认样式时。 很奇怪吧。

但后来我读到了这个问题 。

因此,我没有使用提交按钮并让我的脚本等待提交事件触发,而是将按钮更改为链接并收听了touchend事件。 Bam,它就像一个魅力。

 $(document).on('touchend', 'form #button', function (e) { $('#formID').submit(); }); 

所以我让这个事件绕过并触发提交事件,以便单击键盘上的“开始”按钮仍然会触发提交function。