【问题标题】:Need to identify the 'Done' button click in iOS edit keyboard using javascript需要使用javascript识别iOS编辑键盘中的“完成”按钮单击
【发布时间】:2014-11-30 04:57:13
【问题描述】:

从图片中,是否可以使用 javascript/jQuery 识别 iOS 的“完成”按钮单击事件? iOS 键盘点击事件可以使用文本区域的 'onkeypress' 函数来识别。

【问题讨论】:

    标签: javascript jquery ios


    【解决方案1】:

    如果该字段是表单的一部分,完成将触发表单的“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 属性,当单击“完成”时该属性为空 - 否则它是设置焦点的输入元素。这也可以用于检测是否单击了完成(或关闭了键盘)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-25
      • 1970-01-01
      • 2019-04-17
      • 1970-01-01
      • 2012-04-19
      • 2017-04-13
      相关资源
      最近更新 更多