<table onclick=a() border>
<tr>
<td>aaaaaaaaaaa</td><td>aaaaaaaaaaa</td>
</tr>
<tr>
<td>aaaaaaaaaaa</td><td>aaaaaaaaaaa</td>
</tr>
<tr>
<td>aaaaaaaaaaa</td><td>aaaaaaaaaaa</td>
</tr>
</table>
<script>
function a()
{
o=event.srcElement
if(o.tagName!="TD")
o=o.parentElement
if(o.tagName!="TD") return
var c=o.cellIndex;
if(o.tagName!="TR")
o=o.parentElement
var r=o.rowIndex;
alert(r+"行" + c + "列")
}
</script>
<tr>
<td>aaaaaaaaaaa</td><td>aaaaaaaaaaa</td>
</tr>
<tr>
<td>aaaaaaaaaaa</td><td>aaaaaaaaaaa</td>
</tr>
<tr>
<td>aaaaaaaaaaa</td><td>aaaaaaaaaaa</td>
</tr>
</table>
<script>
function a()
{
o=event.srcElement
if(o.tagName!="TD")
o=o.parentElement
if(o.tagName!="TD") return
var c=o.cellIndex;
if(o.tagName!="TR")
o=o.parentElement
var r=o.rowIndex;
alert(r+"行" + c + "列")
}
</script>
解决方案 »
- js文件在IE中不执行
- 请问怎么用jquery实现页数小于1时,隐藏“上一页”和“下一页”的图标?
- cgisir 你好~帮我加一句吧
- 抽屉层
- 已知一个对象,如何获取其下一级的对象?
- 下拉框选择问题
- js select
- 表格上使用数据岛时,但数据岛中的xml数据改变时,如何使表格内容同时改变?
- 怎样定时自动刷新
- 新手求教 jqGrid问题 colModel "操作"这一列怎么增加
- parent.document.all.indexFrame.cols老是出错,是不是这样写不行
- 对一个比较复杂的表格(有合并行和列),如何求在同一列的单元格的上一个表格?在同一行的单元格可以用object.parentElement来实现
我本以为把事件代码写在table的onclick中,那么event.srcElement就应该是表格整体而不应该是单元格。我的这个理解为什么不对呢?
是不是event.cancelBubble为false,事件冒泡的结果,使得由表格的事件程序处理单元格的事件?
如果我在表格的单元分隔线上单击,经过alert(o.id)这样的测试,得到的srcElement就是整个表格。于是程序的运行就不正常了。
在这种情况下(单击点在单元格线上),应该只能得到所在的行(在上下外边框得到列)了,如何得到?
单击点在单元格线上,要得到所在行,恐怕要用到event.y计算像素
那么“我本以为把事件代码写在table的onclick中,那么event.srcElement就应该是表格整体而不应该是单元格。我的这个理解为什么不对呢?
是不是event.cancelBubble为false,事件冒泡的结果,使得由表格的事件程序处理单元格的事件?”
这个理解对吗?
table的click事件调用的时候onclick="tableClick(this)" 这个this就是表格了
然后用this遍历所有列(rows cells 循环),和event.srcElement相同的对象就是那列了
table的click事件调用的时候onclick="tableClick(this)" 这个this就是表格了
然后用this遍历所有列(rows cells 循环),和event.srcElement相同的对象就是那列了以上所言也和孟大虾的做法有相同的小瑕疵(其实也算不上瑕疵),如果单击在表格线上的话,srcElement就是表格本身了。
孟大虾的处理就是如果你单击表格线的话--》这么变态,不理你了。