在模糊事件后跟踪元素焦点接收者
问题:
考虑 HTML 输入框带有附加的模糊功能。此函数中是否有方法来识别触发模糊事件(即接收焦点)的元素?
示例:
<code class="html"><input id="myInput" onblur="function() { ... }"></code>
如果跨度输入元素获得焦点后,点击 ID“mySpan”,模糊函数如何判断是 mySpan 获得了焦点?
解决方案:
根据UI 事件规范中,可以使用事件的 relatedTarget 属性:
对于模糊事件:
代码示例:
<code class="javascript">function blurListener(event) { event.target.className = 'blurred'; if (event.relatedTarget) event.relatedTarget.className = 'focused'; } [].forEach.call(document.querySelectorAll('input'), function(el) { el.addEventListener('blur', blurListener, false); });</code>
在此示例中,模糊的元素将变成橙色,而聚焦的元素将变成石灰。
以上是模糊事件可以识别触发事件的元素吗?的详细内容。更多信息请关注PHP中文网其他相关文章!