1

我想在 textarea 上使用 focusout,存储导致 focusout 的单击按钮的值,然后在经过一些处理后单击它。我的解决方案适用于除 iPhone 和 iPad 之外的所有设备。谁能解释为什么 event.relatedTarget 在触摸屏上为空?还是浏览器?还有什么好用的?

我已经尝试过 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/

4

1 回答 1

0

在我的研究中,我了解到relatedTarget应该只针对鼠标事件。如果relatedTarget在非鼠标事件中不为空,则浏览器未遵循标准。

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

于 2016-05-31T21:47:29.233 回答