我在td里面有一个文本框 我希望textbox在焦点上触发td.click函数,这样我就可以获得第n行的列号以获取其文本并发送到web方法 但是用户不会点击td所以我可以实现这个吗?
$('td').click(function(){
var col = $(this).parent().children().index($(this));
var row = $(this).parent().parent().children().index($(this).parent());
alert('Row: ' + row + ', Column: ' + col);
});
标记
<table>
<tr><td>e1</td>e2<td>e3</td></tr>
<tr><td>e1</td>e2<td>e3</td></tr>
<tr><td>e1</td>e2<td>Textbox</td></tr>
</table>
答案 0 :(得分:0)
您可以使用element.trigger方法执行此操作。
另一个问题是让文本框引发焦点事件。 TD没有焦点状态,但在某些浏览器中,您可以通过设置tabindex属性来模拟它。也许最好使用表单元素(输入),以便默认情况下可以聚焦。
但是当你点击它时你会遇到另一个问题,因为事件会被触发两次 - 在你的点击和关注元素上。你可以玩事件冒泡,但我认为更好的方法是只在焦点上设置它。