我想要一个JQuery函数,这意味着如果用户点击页面上的某些文本,它会聚焦输入。
$(document).ready(function(){
$('#header.search span').click(function(){
$('#header.search input').focus();
});
});
那没有做任何事情。在Firebug上没有注册。
有什么想法吗?
非凡
答案 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>
答案 3 :(得分:-1)
我认为$('#header.search input')返回一堆INPUT,而不只是一个,所以JQuery可能不知道要关注哪一个。你需要决定关注哪一个。