我想在文本区域上使用焦点,存储导致焦点的单击按钮的值,并在经过一些处理后单击它。我的解决方案适用于除 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 :
最佳答案
在我的研究中,我了解到 latedTarget
只应该出现在鼠标事件上。如果在非鼠标事件中 latedTarget
不为 null,则浏览器不遵循标准。
您可能需要在点击时将按钮和/或按钮值临时存储在变量中,以便稍后在第二次点击时使用。
关于javascript - 触摸屏上焦点突出时 event.latedTarget 为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36452511/