我有以下jQuery行:
$('#newStep2 input#name').focus().css('background','Red');
我在哪里设置文本框的焦点(#name)。我只是设置调试的背景以确保它有效。
嗯,背景变为红色,但输入没有得到焦点。嗯?
修改
HTML,每个请求:
<fieldset id="newStep2">
<h3>2. Name It</h3>
<label class="scrollTo">Name:</label>
<input type="text" name="campaign.name" id="name" />
<p class="step"><a href="javascript:" class="but_next_step">
Update and Continue</a></p>
</fieldset>
答案 0 :(得分:1)
来自jquery docs for focus():
这会导致所有已绑定到焦点事件的函数被执行。请注意,这不会执行基础元素的焦点方法。
要调用focus方法,可以使用each()方法在每个匹配元素上调用focus方法,或使用get(index)获取第n个匹配元素并调用focus方法。所以:
$('#newStep2 input#name').each(function() { this.focus();});
或
$('#newStep2 input#name').get(0).focus();