JQuery onclick函数可以集中输入

时间:2011-09-02 14:48:06

标签: jquery input focus

我想要一个JQuery函数,这意味着如果用户点击页面上的某些文本,它会聚焦输入。

$(document).ready(function(){
$('#header.search span').click(function(){
    $('#header.search input').focus();
});
});

那没有做任何事情。在Firebug上没有注册。

有什么想法吗?

非凡

4 个答案:

答案 0 :(得分:22)

http://jsfiddle.net/HenryGarle/LXngq/

<span>
    <br>
        Span
    <br>
    <input id="InputToFocus" type="text">
</span>

$('span').click(function(){
    $('#InputToFocus').focus();
});

似乎工作正常,这可能是你的选择器的一个问题。你可以发布围绕输入的HTML结构吗?

答案 1 :(得分:20)

如果您对输入元素有id,那么您不需要javascript来执行此操作。您可以使用for属性,并将label标记指向输入元素ID。试试这个

正在使用 demo

<label for="input1">Name</label>
<input id="input1" type="text" />

如果单击“名称”文本,焦点将设置到输入字段中。

答案 2 :(得分:0)

$( "input" ).focus(function() {
  $( this ).next( "span" ).css( "display", "inline" ).fadeOut( 1000 );
});
span {
    display: none;
  }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p><input type="text"> <span>focus fire</span></p>
<p><input type="password"> <span>focus fire</span></p>

https://api.jquery.com/focus/

答案 3 :(得分:-1)

我认为$('#header.search input')返回一堆INPUT,而不只是一个,所以JQuery可能不知道要关注哪一个。你需要决定关注哪一个。