我使用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);
....
}
为什么!?救命!!
发布于 2010-06-04 21:37:37
在IE和Chrome中,event
解析为window.event
。Firefox没有这个属性,而是通过将事件作为参数传递给事件处理函数来提供事件。jQuery通过在所有浏览器中提供事件对象参数为您抽象了这种差异:
$("<a />")
.append("demo")
.click(function (evt) { DemoFunc(evt, value.Id) });
发布于 2013-08-30 09:59:44
如果您已经围绕使用原始事件而不是jQuery事件构建了代码,则可以使用evt.originalEvent
来引用本机事件。
https://stackoverflow.com/questions/2974601
复制相似问题