这是我在jsfiddle上的工作示例,它几乎在所有浏览器上工作(我在IE9,Firefox,Chrome上测试过),除了IE8,它表现得很奇怪:类更改按钮(mavis或test1)只有在你点击两次才有效
如果你把setConfirmUnload函数放在jscript的顶部,就像在我的例子中一样,在这个函数之前:
$(".temasec").live("click", function()
并单击类更改按钮“mavis”或“test1”,它在第一次单击时没有执行任何操作,但它在第二次单击时起作用。这只发生在IE8中(可能在IE7和IE6中,未经测试)
因此,如果在类更改函数之后移动setConfirmUnload函数,则其工作正常。
这段代码有什么问题?特别适用于IE8,因为它仅在IE8上表现得很奇怪。
感谢您的帮助。
信守
答案 0 :(得分:0)
看起来live并不能很好地支持变更事件。
检查一下 http://api.jquery.com/live
粘贴和重置事件,以及使用时的更改 .live()方法不完全支持“file”类型的输入, 由于在Internet Explorer中模拟事件冒泡的问题。在 在这些情况下,可以使用.bind()方法。
尝试使用livequery代替
答案 1 :(得分:0)
你应该尝试使用jQuery“unload”事件:
$(窗口).unload(unloadMessage);