假设我在一个HTML输入框上附加了一个模糊函数,如下所示:
<input id="myInput" onblur="function() { ... }"></input>
是否有一种方法来获得导致模糊事件的元素的ID(被点击的元素)在函数内?如何?
例如,假设我有这样一个张成的空间:
<span id="mySpan">Hello World</span>
如果我在输入元素有焦点之后点击span,输入元素将失去它的焦点。该函数如何知道被单击的是mySpan ?
PS:如果跨度的onclick事件发生在输入元素的onblur事件之前,我的问题就解决了,因为我可以设置一些状态值,指示特定的元素已被单击。
PPS:这个问题的背景是,我想从外部触发一个AJAX自动补全控件(从一个可点击的元素)来显示它的建议,而不会因为输入元素上的模糊事件而立即消失建议。因此,我想检查是否有一个特定的元素被单击了模糊函数,如果是这样,忽略模糊事件。
你能把你检查的内容和时间颠倒过来吗?如果你还记得上次模糊的内容:
<input id="myInput" onblur="lastBlurred=this;"></input>
然后在你的span的onClick中,用两个对象调用function():
<span id="mySpan" onClick="function(lastBlurred, this);">Hello World</span>
然后,函数可以决定是否触发Ajax。自动完成控件。该函数有点击对象和模糊对象。onBlur已经发生了,所以它不会让建议消失。
你能把你检查的内容和时间颠倒过来吗?如果你还记得上次模糊的内容:
<input id="myInput" onblur="lastBlurred=this;"></input>
然后在你的span的onClick中,用两个对象调用function():
<span id="mySpan" onClick="function(lastBlurred, this);">Hello World</span>
然后,函数可以决定是否触发Ajax。自动完成控件。该函数有点击对象和模糊对象。onBlur已经发生了,所以它不会让建议消失。