0

给定以下 HTML 和函数:

<input type="text" onfocus="TextBoxFocus()" id="txtName" />

.

function TextBoxFocus()
{

}

是否可以从函数内部获取调用文本框的 id?

谢谢凯文

4

5 回答 5

1

this只需作为处理程序的参数传递:

onfocus="TextBoxFocus(this)"


function TextBoxFocus(textbox)
{

}
于 2012-06-18T18:56:34.437 回答
1

传递这个 obj。见下文,

//<!--                   Passing this obj---v                 -->
<input type="text" onfocus="TextBoxFocus(this)" id="txtName" />

在脚本中,

function TextBoxFocus(obj)
{
    alert(obj.id);
}
于 2012-06-18T18:57:13.583 回答
1

改变一点你的html

<input type="text" onfocus="TextBoxFocus(this)" id="txtName" />

给你:

function TextBoxFocus(self) {
    var id = self.id
}​
于 2012-06-18T19:01:32.643 回答
0

我做了一个JSFiddle,这似乎有效:

<input type="text" onFocus="onFocus(this)" />

于 2012-06-18T19:01:56.023 回答
0

假设您想将它用于许多文本框,所以我提供了一个class选择器

<input type="text"  id="txtName1" class="someTextBox"/>
<input type="text"  id="txtName2" class="someTextBox"/>

脚本

$(function(){

  $(".someTextBox").focus(function(){
     var txtID=$(this).attr("id");
     alert(txtID);
  });

});

Jsfiddle 示例:http: //jsfiddle.net/MLH4p/

于 2012-06-18T19:04:23.773 回答