在IE中,onbeforeunload事件是为那些没有卸载页面的链接触发的

In IE the onbeforeunload event is fired for links that don't unload the page

本文关键字:卸载 接触 链接 那些 IE onbeforeunload 事件      更新时间:2023-09-26

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

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

以下是IE中的一个问题,因为当点击任何链接时,IE似乎会触发onbeforeunload事件,即使链接没有导航。

我在这里设置了一个例子:http://jsfiddle.net/DETTG/8/

注意:我不能控制propertypane中的ajax控件,它们是由第三方编写的。

也许这个页面会对你有所帮助?

如果你删除"href",那么它将工作。但是,如果要执行一个函数,则需要将其样式化为一个链接元素,并添加属性onclick。以下是更新后的版本:http://jsfiddle.net/DETTG/34/

<a onclick="alert('do some ajax');" style="color:blue; text-decoration:underline; cursor:pointer">javascript</a>