【发布时间】:2011-03-06 18:55:15
【问题描述】:
我有一个带有 onblur 事件监听器的输入标签:
<input id="myField" type="input" onblur="doSomething(this)" />
通过 JavaScript,我想在此输入上触发模糊事件,以便它依次调用 doSomething 函数。
我最初的想法是叫模糊:
document.getElementById('myField').blur()
但这不起作用(尽管没有错误)。
这样做:
document.getElementById('myField').onblur()
这是为什么呢? .click() 将通过 onclick 侦听器调用附加到元素的 click 事件。为什么blur() 的工作方式不一样?
【问题讨论】:
-
我认为 blur() 是 jQuery 而 onBlur() 是 Javascript。
-
@Ray 不,这不是很准确,尽管 jQuery 确实提供了一种“模糊”方法来触发事件(或注册处理程序)。但是,该方法由 jQuery 对象提供,不适用于普通 DOM 元素。
-
虽然你的问题得到了回答,但我还是很好奇是什么让你通过显式触发
onblur函数来执行doSomething()函数!为什么不能直接拨打doSomething? -
@user1451111 对于 7 年前我在做什么,我的记忆有点模糊 :)
标签: javascript jquery onblur