IE8什么是触发beforeunload事件

时间:2011-02-18 22:06:13

标签: javascript internet-explorer-8

我的问题只是IE8中的问题,请参见图。

我有一个带有onclick属性的锚标记

<a href="javascript:void(0);" onclick="foo();">Click Me</a>

然后foo在别处宣布:

<script type="javascript/text">
     function foo(){
       //do some work
       return false;
     }
</script>

调用foo后,我的onbeforeunload处理程序正在执行,我不明白为什么。

我有其他实例,如果foo函数没有返回false,它会在IE中触发beforeunload事件,但即使这个函数返回false,它仍然会命中我的onbeforeunload处理程序而我无法找出原因。< / p>

有没有办法找出触发它的是什么。我在onbeforeunload处理程序中查看了事件对象,但它似乎没有给我和相关信息。

任何想法?

3 个答案:

答案 0 :(得分:7)

将其更改为

<a href="#" onclick="return foo();">Click Me</a>

<a href="#" onclick="foo();return false;">Click Me</a>

答案 1 :(得分:0)

答案 2 :(得分:0)

我在CK编辑器渲染的一些锚标签上也有这个问题。通过将点击事件附加到围绕有问题的锚标签的DIV并将已停止的事件传播到窗口来修复:

$('div.cke_form_fix').on('click', function(e){
    e.stopPropagation();
});