首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >事件未在FireFox中定义,但在Chrome和IE中可以

事件未在FireFox中定义,但在Chrome和IE中可以
EN

Stack Overflow用户
提问于 2010-06-04 21:35:11
回答 2查看 28.7K关注 0票数 18

我使用jQuery生成HTML:

$("<a />")
    .append("demo")
    .click(function () { DemoFunc(event, value.Id) })

这对于Chrome和IE8来说是完美的,但是在FireFox中我得到了一个错误:“事件没有定义”。我像这样修改了代码:

.attr("onclick", "DemoFunc(event, " + value.Id + ")")

它适用于Firefox,但不适用于Chrome和IE。

DemoFunc = function (e, assocGroupId) {
    var target = (e.target) ? $(e.target) : $(e.srcElement);
    ....
}

为什么!?救命!!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-06-04 21:37:37

在IE和Chrome中,event解析为window.event。Firefox没有这个属性,而是通过将事件作为参数传递给事件处理函数来提供事件。jQuery通过在所有浏览器中提供事件对象参数为您抽象了这种差异:

$("<a />")
    .append("demo")
    .click(function (evt) { DemoFunc(evt, value.Id) });
票数 36
EN

Stack Overflow用户

发布于 2013-08-30 09:59:44

如果您已经围绕使用原始事件而不是jQuery事件构建了代码,则可以使用evt.originalEvent来引用本机事件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2974601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档