2011-08-11 60 views
1

這是我在jsfiddle上的工作示例,它在幾乎所有瀏覽器(我在IE9,Firefox,Chrome上測試過它)上工作,除了IE8其行爲奇怪:class change buttons (mavis或test1)僅在您點擊兩次時纔有效。我的onbeforeunload函數有問題,但我找不到它

http://jsfiddle.net/Qq2tk/

如果你把JScript中的setConfirmUnload功能頂部就像在我的例子,該功能前:

$(".temasec").live("click", function() 

,然後在課程改變按鈕「范曉萱」或「測試1」它不是第一次點擊做任何事情,但第二次點擊它的作品。這隻發生在IE8上(可能在IE7和IE6中,沒有經過測試)

所以如果你在移動setConfirmUnload函數之後,它的類更改函數的工作正常。

這段代碼有什麼問題?特別是對於IE8,因爲它只在IE8上表現怪異。

謝謝你的幫助。

Abides

回答

0

它看起來好像不支持改變事件。

檢查了這一點 http://api.jquery.com/live

膏和復位的事件,除了改變與類型的 投入使用時,「文件」,不被.live()方法完全支持, 由於在Internet Explorer中模擬事件冒泡的問題。在 這些情況下,可以使用.bind()方法代替。

嘗試使用livequery insteady

+0

感謝您的回答,livequery正在開發ie8,未在其他瀏覽器上測試過。我不想在我的項目中使用3.rd派對插件,但我想我沒有機會。也許我應該嘗試綁定在jQuery實況文檔中所述。 – Abides

0

你應該嘗試使用jQuery的 「卸載」 事件:

$(窗口).unload(unloadMessage);

+0

感謝您的建議,但與問題無關,您可以刪除與window.unload相關的功能,並將live.change事件放在最上面。結果是一樣的。 – Abides

相關問題