输入类型文本onfocus函数不调用

时间:2013-11-18 08:30:05

标签: javascript input onfocus

我有一个表,其中每个td元素将包含一个输入类型文本。

<tr>
    <td id="a1"><input type="text" id="a1t"/></td>
    <td id="a2"><input type="text" id="a2t"/></td>
</tr>
<tr>
    <td id="b1"><input type="text" id="b1t"/></td>
    <td id="b2"><input type="text" id="b2t"/></td>
</tr>

我需要知道文本输入聚焦时的td id。我尝试通过调用附加到输入类型文本的onfocus事件的js函数来执行此操作,但该函数未被调用。

<input type="text" id="b2t" onfocus="cell_clicked('b2t')" />

这是函数和fiddle

function cell_clicked(cell_no){
    alert(cell_no);
}

但该功能未被调用。 我做错了吗?

2 个答案:

答案 0 :(得分:2)

您的代码工作正常,您在jsfiddle中设置错误 在Framework and extensions下将onLoad更改为no wrap,以使您的职能cell_clicked全球可用。

看到此http://jsfiddle.net/ywt8V/3/(您的小提琴http://jsfiddle.net/ywt8V/只更改了此设置。)

作为旁注,您可以像这样访问父表格单元格的id:

onfocus="cell_clicked(this.parentNode.id)"

希望这有帮助

答案 1 :(得分:0)

<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<td><div id="boom" class="selected"><input type="text" id="b2t" onfocus="cell_clicked(this.id)" /></div></td>



function cell_clicked(id){
    var foo = $( "#"+id ).parent(".selected").attr( "id" );
    alert(foo);
}