繁体   English   中英

在触摸屏上的focusout上,event.relatedTarget为null

[英]event.relatedTarget is null on focusout on touch screen

我想在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);
  });

});

这是我的小提琴:

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

在我的研究中我学到relatedTarget只应该是鼠标事件。 如果在非鼠标事件中relatedTarget不为null,则浏览器不遵循标准。

您可能必须在按钮上临时存储按钮和/或按钮值,以便稍后在第二次单击时使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM