2014-09-29 30 views
-1

下面的代码是为了检测输入法用户焦点的名称,问题是它警告所有文本框的名称相同。显示不正确的文本框标题

var huntedTextBox; 
    //focus in any textfield to get its name into the vairable. 
    $("input").focus(function() { 

     huntedTextBox = $("input").attr('name'); 
     alert(huntedTextBox); 

    }); 

这是代码的Fiddle

谢谢。

+3

试试也许$(this).attr('name'); – cyan 2014-09-29 14:48:08

+0

因为您不在当前上下文中 – Tushar 2014-09-29 14:50:24

+1

您正在检查第一个输入字段并将第一个输入名称值添加到huntedTextBox。它应该在你关注的输入上huntedTextBox = $(this).attr('name'); – 2014-09-29 14:50:33

回答

4

只是做了搜索$('input')将文档中返回所有<input>秒。然后,执行.attr()将获得第一个属性。

要获得被点击的<input>的属性,使用$(this).attr('name');

0

huntedTextBox = $(this).attr('name');

+1

需要说明... – epascarello 2014-09-29 14:49:10

1

您需要使用this选择多数民众赞成集中在特定的文本框... 这里有一个片段:

var huntedTextBox; 
 
//focus in any textfield to get its name into the vairable. 
 
$("input").focus(function() { 
 

 
    huntedTextBox = $(this).attr('name'); 
 
    alert(huntedTextBox); 
 
    
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<input type="text" name="textBox" /> 
 
<input type="text" name="Bader" />