我有一个id为“tbl”的表,它有2行3列。每个单元格(td)都有明确定义的id。此外,该表有一个调用函数foo()的onclick事件。只要单击任何单元格,就会生成onclick()。 表标签是
< table id =“tbl”width =“80%”height =“20%”onclick =“javascript:foo()”>
我也尝试过 javascript:foo(this)
我想找出被点击的表格单元格的ID。
我试过以下javascript
function foo(e)
{
var sender = (e && e.target) || (window.event && window.event.srcElement);
alert("Sender" + sender.id);
}
这适用于Google Chrome和IE,但不适用于Firefox。在Firefox中,发件人未定义。 如何在Firefox中获取调用者单元格?
答案 0 :(得分:5)
首先,从javascript:
属性中删除onclick
。你在链接的href
属性中使用javascript来混淆它。在Javascript代码中,javascript:
会创建一个名为“javascript”的label。
除此之外,foo(event)
应该可以正常使用您的最终JavaScript代码示例。它在Firefox中不起作用但在Chrome和IE中起作用的原因是;它们都支持全局事件对象window.event
(在e.target
产生undefined
时进行评估,因为this
是一个没有target
的元素属性)。 Firefox不支持全局event
对象。
进一步阅读: