为了账号安全,请及时绑定邮箱和手机立即绑定

当“模糊”事件发生时,我如何找出哪个元素焦点转移到*?

当“模糊”事件发生时,我如何找出哪个元素焦点转移到*?

Smart猫小萌 2019-08-02 07:02:45
当“模糊”事件发生时,我如何找出哪个元素焦点转移到*?假设我附加了一个blur函数到HTML输入框,如下所示:<input id="myInput" onblur="function() { ... }"></input>是否有方法获取导致blur事件在函数中触发(单击的元素)?多么,怎样?例如,假设我有这样一个跨度:<span id="mySpan">Hello World</span>如果在输入元素具有焦点之后单击span,则输入元素将失去焦点。函数如何知道它是mySpan被点击了?PS:如果SPAN的onClick事件发生在输入元素的onblur事件之前,我的问题就会得到解决,因为我可以设置一些状态值,指示已经单击的特定元素。PPS:这个问题的背景是我想从外部(从一个可点击的元素)触发一个Ajax自动完成器控件来显示它的建议,而不会因为blur事件发生在输入元素上。所以我想登记一下blur如果已经单击了一个特定的元素,则会调用该函数,如果是,则忽略模糊事件。
查看完整描述

3 回答

?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

我最终在onblur事件上超时解决了这个问题(感谢一个不是StackOverflow的朋友的建议):

<input id="myInput" onblur="setTimeout(function() {alert(clickSrc);},200);"></input><span onclick="clickSrc='mySpan';" id="mySpan">Hello World</span>

工作于FF和IE。



查看完整回答
反对 回复 2019-08-03
  • 3 回答
  • 0 关注
  • 323 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号