在IE浏览器中,当链接不卸载页面时,将触发onbeforeunload事件。

6

我正在为一个CMS(Umbraco)编写插件,并希望在页面上的各种操作中附加警告对话框,其中一个操作是单击链接(JavaScript链接),在大多数浏览器中,以下代码效果良好:

$(".propertypane").delegate("a, a div", "click", function () { window.onbeforeunload = confirmNavigateAway; });

以下是IE浏览器中的一个问题,因为当点击任何链接时,即使链接没有导航离开页面,IE似乎仍会触发onbeforeunload事件。
我在这里设置了一个示例: http://jsfiddle.net/DETTG/8/ 注意:我无法控制propertypane内部的ajax控件,它们是由第三方编写的。
2个回答

1

也许这个页面能帮到你?


方便的信息,但是它对我没有帮助,因为我无法控制锚标签的构建方式。 - Myster

1
如果您删除“href”,那么它将起作用。但是,您需要将其样式设置为链接元素并添加onclick属性,如果您想执行一个函数。这是更新后的版本:http://jsfiddle.net/DETTG/34/
<a onclick="alert('do some ajax');" style="color:blue; text-decoration:underline; cursor:pointer">javascript</a>

1
我认为这对我来说不是一个解决方案,因为HTML和JS是由第三方控件生成的。(我想在客户端删除href,但我可能会破坏第三方功能。) - Myster

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接