我有一张如下表格
<table onclick="dosomething()">
<tr><td>11</td><td>12</td><td>13</td></tr>
<tr><td>11</td><td>12</td><td>13</td></tr>
<tr><td>11</td><td>12</td><td>13</td></tr>
</table>
点击表格后,我需要找到点击发生的td。我不能在tr或td上写上onclick事件。
答案 0 :(得分:1)
你可以做这样的事情(给你的table
一类myClass
- 或任何你想要的东西:
function tableClicked(td) {
// Do something dependent on the td which was clicked
}
$(document).ready(function () {
$("table.myClass td").click(function () {
tableClicked(this);
});
});
这意味着您无需向onclick
代码添加<td>
个属性。
答案 1 :(得分:1)
向表中添加ID并删除onClick处理程序。这是分离行为和内容。
<table id="tableId">
因为事件会冒出来,在table元素上捕获它并找到目标,所以你不需要为每个td添加事件监听器。
$('#tableId').click(function(e){
//the td is the target where event happens
var td=e.target;
});
答案 2 :(得分:0)
我会转储onclick并执行此操作
$("#myTable td").click(function() {
$(this).html(); // get the value
$(this).hide(); // hide it
$(this).remove(); // remove it
});
<table id="myTable">
<tr><td>11</td><td>12</td><td>13</td></tr>
<tr><td>11</td><td>12</td><td>13</td></tr>
<tr><td>11</td><td>12</td><td>13</td></tr>
</table>
答案 3 :(得分:0)
$(function(){
$("#tbl").bind("click", function(e){
if(e.target.tagName == "TD"){
//do your magic
}
});
});