我有一张桌子tr,你可以点击它.这些tr可以包含a.
<tr id="12" href="/guestbook/edit?id=12">
<td class="main">
<strong>Remi</strong>
<a href="mailto:xxx@xxx">xxx@xxx</a>
</td>
<td class="date">05-11-2010 11:34</td>
<td class="number">ip</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
这是检测tr上的点击的jquery代码
$('table tr[href]').click(function(e){
document.location.href = $(this).attr('href');
});
Run Code Online (Sandbox Code Playgroud)
例如,当我单击电子邮件地址时,首先打开我的电子邮件客户端(这很好),然后加载页面编辑(这很糟糕).是否有可能检测到我点击过的元素?如果它是A或TR?
Nic*_*ver 10
您可以检查.target事件并查看它.nodeName是什么,如下所示:
$('table tr[href]').click(function(e){
if(e.target.nodeName == 'A') return;
document.location.href = $(this).attr('href');
});
Run Code Online (Sandbox Code Playgroud)
正如@ Hannes在评论中所说,最好至少使用一个数据属性,如下所示:
<tr id="12" data-href="/guestbook/edit?id=12">
Run Code Online (Sandbox Code Playgroud)
然后在你的代码中:
$(this).attr('data-href');
Run Code Online (Sandbox Code Playgroud)
或者,在jQuery 1.4.3+中:
$(this).data('href');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6812 次 |
| 最近记录: |