我有一个相当简单的布局,结果很奇怪。
$(".main").on("hover", ".js_post", function () {
$(this).children('.js_del').toggle();
});
本质上,当用户将鼠标悬停在 .js_post div 上时,会切换 .js_del div。这是隐藏 .js_del 的 css:
.js_del { display:none; }
现在,当光标悬停在 .js_post 上时,.js_del div 会按预期切换。但是,当用户单击 .js_post div 中的链接,然后单击浏览器后退按钮时,会发生奇怪的事情......
在 FF 中,一切都按预期工作(即,浏览器将单击解释为 mouseleave 并切换 .js_del。)
然而,在 Safari 中,当用户单击返回时,浏览器会应用反向切换(即,显示 .js_del,当光标悬停在 .js_post 上时,.js_del 链接消失。)
更奇怪的是...
我决定添加一个处理程序来手动隐藏 .js_del div 每当单击 .js_post 中的“a”元素时,如下所示:
$(".js_post").find("a").click(function () {
$(this).parents('.js_post').children('.js_del').hide();
});
现在,当在 Safari 中查看时,一切正常,但在 FF 中,情况相反(即显示 .js_del,当光标悬停在 .js_post 上时,.js_del 链接消失)!
有什么想法吗???谢谢!