如何使用Javascript获取调用者元素?

时间:2010-06-08 21:32:38

标签: javascript html javascript-events

我有一个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中获取调用者单元格?

1 个答案:

答案 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对象。

进一步阅读: