Javascript Can';t在文本字段上设置焦点()

Javascript Can';t在文本字段上设置焦点(),javascript,sammy.js,Javascript,Sammy.js,这是最奇怪的事情。我有一个Sammy.js应用程序,我想在加载HTML后将焦点设置在文本字段上。我这里有一个咖啡脚本: this.partial('templates/my-template.jqt').then -> i = $('#item') debugger i.focus() 当我在调试器中时,就在这一行,我可以检查“I”并看到它是一个JQuery对象。我甚至可以调用I.val(“您好!”),查看我的文本字段更新。但是,调用i.focus()完全没有任何作用。是否有

这是最奇怪的事情。我有一个Sammy.js应用程序,我想在加载HTML后将焦点设置在文本字段上。我这里有一个咖啡脚本:

this.partial('templates/my-template.jqt').then ->
  i = $('#item')
  debugger
  i.focus()

当我在调试器中时,就在这一行,我可以检查“I”并看到它是一个JQuery对象。我甚至可以调用I.val(“您好!”),查看我的文本字段更新。但是,调用i.focus()完全没有任何作用。是否有一些我缺少的安全功能不允许您关注动态加载的文本元素?

如果您确定获得的是
$(“#项”)
对象。您可以尝试一些事情

确保只有一个输入框具有
。不应重复相同的id

接下来,为什么不试试
$('#item')。focus()

谢谢。 关于,

Wasim

JQuery的focus()不关注元素,而是将事件处理程序绑定到focus。

试试i.get().focus()。

这样做:

i.trigger 'focus'
尝试:


这是很常见的问题。由于某些原因,将焦点延迟1毫秒会使它工作。

实际上,当我执行$('input[type=text]').focus()时,它在Chrome中工作,但在iOS中不工作。下面是实际的文件:当我在Chrome中尝试
I.get().focus()
时,我得到了“Uncaught TypeError:Object[Object HTMLInputElement]没有方法“focus”。“JQuery的focus()不关注元素,它将事件处理程序绑定到focus”:没有参数,它不会绑定事件处理程序;它触发one.LarsH,这是因为您正在对元素数组调用focus()。你可以这样做:i.get(0).focus()代替。顺便问一下,你怎么知道你能做什么呢?就我的一生而言,我无法弄清楚Sammy.js api文档中的“partial”方法返回了什么。你怎么知道的?什么。这个见鬼+1000个互联网
setTimeout(function() { $('#item').focus() }, 1);