javascript - 触摸屏上焦点突出时 event.latedTarget 为 null

标签 javascript jquery focusout

我想在文本区域上使用焦点,存储导致焦点的单击按钮的值,并在经过一些处理后单击它。我的解决方案适用于除 iPhone 和 iPad 之外的所有设备。谁能解释为什么 event.latedTarget 在触摸屏上为空?或者是浏览器的原因?还有什么可以用的?

我尝试过 e.currentTarget 和 document.activeElement (返回整个 HTML 正文),并尝试使用 e.currentTarget 周围的 setTimeout 。在 iPad 和 iPhone 上,我似乎无法获取焦点内单击按钮的 ID。

这是一个示例:

<div id="resultPage">
  <textarea id="txtAnswer0" class="txtAnswer"></textarea>

  <button id="goNow">
    GO
  </button>
</div>

$(document).ready(function() {


  $("#resultPage").on("focusout", ".txtAnswer:not(input[type=radio], input[type=checkbox])", function(e) {

     var targetCtrl = e.relatedTarget;

     alert(targetCtrl);
  });

});

这是我的 fiddle :

https://jsfiddle.net/awebster28/6q6ok4re/25/

最佳答案

在我的研究中,我了解到 latedTarget 只应该出现在鼠标事件上。如果在非鼠标事件中 latedTarget 不为 null,则浏览器不遵循标准。

您可能需要在点击时将按钮和/或按钮值临时存储在变量中,以便稍后在第二次点击时使用。

关于javascript - 触摸屏上焦点突出时 event.latedTarget 为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36452511/

相关文章:

javascript - 焦点淡出形式

javascript - 为什么 Cordova 项目具有相同的 index.js 副本?

javascript - 将数据从 Excel CSV 读取到 html 页面并搜索

javascript - 使用 JavaScript 或 jquery 更快?

javascript - jQuery 自动完成不适用于克隆

jQuery - 专注于 TR

javascript - 模糊事件.relatedTarget 返回 null

javascript - 循环访问 JavaScript 生成器函数

javascript - 从 Parse Cloud 销毁对象是不可靠的

javascript - 更改 :hover to click/tap function on mobile/touch devices not working