我想,当用户单击后退按钮,关闭我的自定义菜单抽屉菜单抽屉。现在,这种设计缺陷是抽屉在没有悬停的情况下保持开放的唯一方式。欲望是只有悬停可以保持一个抽屉打开。闭幕式上后退按钮(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)。 –