任何人都知道为什么.focus()
会让光标消失,但是当你点击文字输入框时它会回来?
答案 0 :(得分:0)
.focus()
无法确定光标位置,例如当你在元素上触发focus
事件时,光标应该是 的位置?这取决于你click
的位置,这是一个完全不同的事件。
除此之外,当您.trigger()
一个事件(.focus()
是.trigger('focus')
的快捷方式)时,它不会像在用户创建事件时那样复制事件。事件,例如默认操作....例如光标位置设置(.click()
也不起作用,出于同样的原因)。 The jQuery docs for .trigger()
简要介绍了这一点:
虽然
.trigger()
模拟事件激活,但是使用合成的事件对象,它不能完美地复制自然发生的事件。
您可以停止默认操作(使用event.preventDefault()
),但jQuery核心中没有用于创建或执行它的机制。