gpt4 book ai didi

javascript - 如何获取手机的位置

转载 作者:行者123 更新时间:2023-11-29 16:30:01 24 4
gpt4 key购买 nike

我正在编写一个管理非常大的表的脚本。当用户单击表格单元格时,我想知道他们单击了哪个单元格。例如

--------------
| | |
| | Click|
--------------

应该给我一个单元格引用 (1, 1)。

我可以用 javascript 来做到这一点。它运行的页面将 jquery 用于其他目的,因此任何基于 jquery 的解决方案都很好。

编辑:澄清一下,左上角的单元格是 (0, 0)。出于性能原因,事件需要绑定(bind)到,而不是tds。

最佳答案

使用 target 可以轻松完成此操作event的属性(property)对象:

$('#mytable').click(function(e) {
var tr = $(e.target).parent('tr');
var x = $('tr', this).index(tr);
var y = tr.children('td').index($(e.target));
alert(x + ',' + y);
});

此方法允许您仅将 1 个事件处理程序绑定(bind)到整个表格,然后找出单击了哪个表格单元格。这称为事件委托(delegate),在正确的情况下可以更加高效,而这个就符合要求。使用此功能,您可以避免将事件绑定(bind)到每个 <td> ,并且它不需要硬编码坐标。因此,如果您的表格如下所示:

<table id='mytable'>
<tr>
<td>hi</td>
<td>heya</td>
</tr>
<tr>
<td>boo</td>
<td>weee</td>
</tr>
</table>

点击时它会提醒坐标。你可以用它做任何事。 :)

如果您发现性能太慢(取决于您的表有多大),您将不得不诉诸硬编码或两者的组合,也许只对 <tr> 进行硬编码索引,因为这将是最慢的获取,然后获取 <td>动态索引。最后,如果所有这些坐标业务完全没有必要,并且您真正想要的是对单击的 <td> 的引用。 ,你只需这样做:

$('#mytable').click(function(e) {
var td = $(e.target);
// go crazy
});

关于javascript - 如何获取手机的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/661726/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com