【发布时间】:2010-06-08 21:32:38
【问题描述】:
我有一个 id 为“tbl”的表,它有 2 行和 3 个列。每个 cell(td) 都有一个明确定义的 id。此外,该表有一个调用函数 foo() 的 onclick 事件。每当单击任何单元格时都会生成 onclick()。 表格标签是
我也试过 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 中获取调用方单元格?
【问题讨论】:
@drachenstern:我认为强制 jQuery 有点太过分了。所有流行的框架都处理浏览器差异。 jQuery 也是我的最爱,但我想“你为什么不使用框架?”是一个更公正的问题。 @drachenstern:在尝试 JQuery 之前我不应该擅长 Javascript 吗? @wacky_coder ~ 不适合这样的事情,因为学习如何包含所有浏览器怪癖和学习如何编写代码来用 javascript 做事是有区别的。我使用框架来处理怪癖和细节,我自己编写功能部分。就像我对 C# 所做的一样。我没有尝试弄清楚如何读取文件系统,我使用 .NET 框架为我做这件事,我编写代码来完成功能部分。我可以将这种类比扩展到许多事物,例如列表。但是你是对的,你应该知道为什么它会像你的代码显示的那样工作。 +1 @wacky_coder ~ 我想指出这一点,只是为了明确一点:我不反对自己滚动,尤其是对于像这样简单的东西,因为我早在学习 jQuery 之前就开始编写 JS,但我似乎总是沉迷于记住检查每个浏览器的所有内容的乏味。如果你不去一个框架,至少写你自己的伪框架,这样你就不必在每个函数中处理跨浏览器的差异。这是框架的最大好处。是的,有插件,所以这些很有趣,但这不是我切换到框架 js 代码的原因...... @drachenstern :即使我在大部分工作中都使用 .NET 框架。它处理了我需要承担的所有痛苦,但有时,必须在不使用框架提供的设施的情况下编写代码。那是我必须潜入的时候!
标签: javascript html javascript-events