我试图复制这一“onclickout模拟器”脚本在这里看到:这个函数参数是如何定义的?
正如你所看到的,它工作正常(在所有我已经测试了它的浏览器 - 所以这就我所知,这不是浏览器兼容性问题)。
在我溶液中的代码如下:
document.getElementById('bigBtn').onclick = function(event) {
alert('button clicked');
if (event.cancelBubble) //THIS LINE GIVES 'EVENT IS UNDEFINED' ERROR
event.cancelBubble = true;
else
event.stopPropagation();
}
这pageLoad的被发现()。
正如您所看到的,由于事件未定义,我得到event.cancelBubble行的意外错误。我无法为我的生活找出原因。
注意:由于浏览器兼容性的原因,我正在以这种方式测试cancelBubble与小提琴演示的不同之处。
非常感谢任何帮助,真的停留在此。
好吧,你说这不是一个浏览器问题,但事件将在IE的早期版本(因为他们使用window.event),而不是定义。所以你总是可以尝试在处理程序的顶部添加它。 if(!event)event = window.event; – GillesC 2012-04-27 11:10:06
在你的小提琴链接中,'event.cancelBubble'是'false',这意味着'event'不是'undefined' – Anji 2012-04-27 11:12:03
@安吉 - 是的,这是预期的 - 就像我说的 - 小提琴链接工作,但在我的解决方案中没有。 – 2012-04-27 12:12:15