我想在textarea上使用focusout,隐藏导致焦点输出的单击按钮的值,然后在稍后处理后单击它。我的解决方案适用于除iPhone和iPad之外的所有设备。任何人都可以解释为什么触摸屏上的event.relatedTarget为null?或者是浏览器?还有什么用?
我已经尝试了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);
});
});
这是我的小提琴:
答案 0 :(得分:0)
在我的研究中,我了解到relatedTarget
仅适用于鼠标事件。如果在非鼠标事件中relatedTarget
不为空,则浏览器不遵循标准。
您可能必须在点击时将按钮和/或按钮值临时存储在变量中,以便稍后在第二次点击时使用。