【发布时间】:2010-09-12 09:34:13
【问题描述】:
假设我将blur 函数附加到这样的 HTML 输入框:
<input id="myInput" onblur="function() { ... }"></input>
有没有办法在函数内部获取导致blur 事件触发的元素的ID(被点击的元素)?怎么样?
例如,假设我有这样的跨度:
<span id="mySpan">Hello World</span>
如果我在输入元素获得焦点后立即单击跨度,则输入元素将失去焦点。函数如何知道被点击的是mySpan?
PS:如果 span 的 onclick 事件发生在 input 元素的 onblur 事件之前,我的问题将得到解决,因为我可以设置一些状态值来指示特定元素已被点击。
PPS:这个问题的背景是我想从外部(从可点击元素)触发 AJAX 自动完成器控件以显示其建议,而不会因为输入元素上的 blur 事件而立即消失建议。因此,我想检查blur 函数是否已单击某个特定元素,如果是,则忽略模糊事件。
【问题讨论】:
-
这是一个有趣的问题,我很乐意看到背后的推理——即你为什么要这样做?上下文是什么?
-
Rahul 和 roosteronacid,我更新了这个问题作为对你们 cmets(PPS)的反应。
-
由于此信息有点旧,请参阅此处获取更新的答案:stackoverflow.com/questions/7096120/…
标签: javascript events