【发布时间】:2014-11-30 04:57:13
【问题描述】:
从图片中,是否可以使用 javascript/jQuery 识别 iOS 的“完成”按钮单击事件? iOS 键盘点击事件可以使用文本区域的 'onkeypress' 函数来识别。
【问题讨论】:
标签: javascript jquery ios
从图片中,是否可以使用 javascript/jQuery 识别 iOS 的“完成”按钮单击事件? iOS 键盘点击事件可以使用文本区域的 'onkeypress' 函数来识别。
【问题讨论】:
标签: javascript jquery ios
如果该字段是表单的一部分,完成将触发表单的“onsubmit”事件。
一种方法是设置超时,该超时发生在每个表单元素的 onblur(已调度)上,并在每个元素的 onfocus 上清除。
jQuery 中的简短示例作为解释:
var blurOccurred;
$("input")
.on("blur", function(evt) {
blurOccurred = window.setTimeout(function() {
alert('Done button clicked');
}, 10);
})
.on("focus", function(evt) {
window.clearTimeout(blurOccurred);
});
通过这样做,检测到单击“完成”会延迟 10 毫秒。如果它只是导航到上一个/下一个表单字段,则不会执行整个超时。
我希望这能让你开始。
编辑: 在 iOS7 上有 event.relatedTarget 属性,当单击“完成”时该属性为空 - 否则它是设置焦点的输入元素。这也可以用于检测是否单击了完成(或关闭了键盘)。
【讨论】: