我想,當用戶單擊後退按鈕,關閉我的自定義菜單抽屜菜單抽屜。現在,這種設計缺陷是抽屜在沒有懸停的情況下保持開放的唯一方式。慾望是只有懸停可以保持一個抽屜打開。閉幕式上後退按鈕(Safari瀏覽器的問題)
詮:
1 - 當你懸停菜單,抽屜打開。
2 - 當您單擊菜單(或抽屜)中的鏈接離開頁面時,抽屜 將在剛剛離開的頁面上保持打開狀態。
3 - 當您使用瀏覽器的「返回」按鈕返回剛剛離開的頁面時,您將看到打開的菜單抽屜。
4 - 關閉打開卡住菜單抽屜的唯一方法是徘徊&離開它。
我試過很明顯的,就是利用「卸載」或「卸載前」事件。這不起作用,因爲在卸載時鼠標仍然懸停在物品上。懸停使抽屜保持打開狀態,同時卸載事件試圖關閉。 (我從演示刪除破 「卸載」 功能。)
http://jsfiddle.net/sparky672/rNzPR/
完整的示例與外部的聯繫,以便後退按鈕可以進行測試......
http://jsfiddle.net/sparky672/rNzPR/show/
無論如何,結果是一樣的...當點擊後退按鈕時,「上次使用」菜單抽屜被卡住,關閉它的唯一方法是「懸停&離開」它。
我對解決方法的建議非常感興趣,因此它不會在第一位置保持打開狀態,或者至少不需要「進入/離開」順序以使其關閉......以較高者爲準簡單。
(演示包含在僅用於開發透明容器邊界真正的系統是不是難看。)
編輯:
我看到的問題在Safari 4 & 5和Firefox 3
在Firefox 4和7中,出現該問題,但只要將鼠標移動一次在窗口的任何地方,菜單關閉。 (足夠好)
我在IE 8,IE 9或Chrome中看不到問題。
看來,某些瀏覽器必須改善或改變他們如何應對「前/緩存後,」關於jQuery的$(document).ready
,因爲只有這樣才能不會有我的這個問題,是後退按鈕以新觸發$(document).ready
內的代碼。
由於這看起來主要只是一個Safari的問題,也許我現在就會和它一起生活。
在Chrome 14.0.835.202我無法重現此問題。你能詳細說明問題是什麼,以及你可以在哪些瀏覽器中重現它? –
@GeorgePittarelli,我根據你的意見完全更新了我的問題。謝謝。 – Sparky
我可能正在簡化它,但爲什麼不抓住抽屜鏈接上的點擊事件,關閉抽屜,然後讓鏈接繼續(不返回false或preventDefault)。 –