【问题标题】:fire td.click function on its inside elements function eg. textbox.focus在其内部元素功能上触发 td.click 功能,例如。文本框.focus
【发布时间】:2012-01-03 09:42:22
【问题描述】:

我在 td 中有一个文本框 我希望文本框在焦点上触发 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>

【问题讨论】:

    标签: jquery textbox html-table


    【解决方案1】:

    有一个element.trigger 方法,你可以用它来做。

    另一个问题是让文本框触发焦点事件。 TD 没有焦点状态,但在某些浏览器中,您可以通过设置 tabindex 属性来模拟它。也许最好使用表单元素(输入),这样它就可以默认获得焦点。

    但是当它被点击时你会遇到另一个问题,而不是事件会被触发两次——在你点击和聚焦元素时。您可以使用事件冒泡,但我认为更好的方法是仅将其设置为焦点。

    【讨论】:

      猜你喜欢
      • 2021-05-14
      • 1970-01-01
      • 2014-04-10
      • 2012-01-21
      • 1970-01-01
      • 2022-01-15
      • 2020-07-15
      • 2011-08-20
      • 1970-01-01
      相关资源
      最近更新 更多