我正在尝试复制这个'onclickout模拟器'脚本,如下所示:
正如您所看到的,它运行正常(在我测试过的所有浏览器中 - 因此,据我所知,这不是浏览器兼容性问题。)
my 解决方案中的代码如下所示:
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与小提琴演示不同。
非常感谢你的帮助,真的坚持这一点。
答案 0 :(得分:2)
尝试使用DOM2事件模型。相反,使用以下方法注册处理程序:
document.getElementById('bigBtn').addEventListener("click", yourFunction, false);
答案 1 :(得分:0)
问题解决了。我没有以这种方式“模拟”onclickout事件,而是将焦点(使用window.hash)设置为代替“按钮点击”警报的菜单,然后处理onblur事件以关闭它。