我正在使用jGrowl在屏幕上显示一条消息。看起来很棒。然而,在消息淡出后,jGrowl div仍然覆盖了它下面的那些元素,所以它们是不可点击的!
在我的例子中,这一点特别明显,因为我编辑了样式,以确保消息显示在屏幕的中心。
div.jGrowl.center {
height: 50%;
top: 25%;
width: 50%;
left: 25%;
}像jGrowl这样被这么多人使用的插件真的有这个问题吗?或者也许是因为我做错了什么。
我在Chrome中检查了"Inspect element“,果然,这就是覆盖我页面上其他元素的元素:
<div id="jGrowl" class="center jGrowl">
<div class="jGrowl-notification"></div>
</div>更新-以下是解决方案:
$("#jGrowl").show();
$.jGrowl("my message", {
beforeClose: function(e,m) {
$("#jGrowl").hide();
}
});精化-在尝试了不同的方法后,我发现下面是最好的解决方案。在页面加载时为这些事件添加默认设置:
$(function () {
$.jGrowl.defaults.beforeOpen = function(e,m) { $("#jGrowl").show(); };
$.jGrowl.defaults.close = function(e,m) { $("#jGrowl").hide(); };
}发布于 2011-05-04 00:30:57
我不熟悉jGrowl,但你能检查一下"close“事件是否触发了吗?
jGrowl提供了“关闭”窗口的功能,在窗口的角落有一个"X“?如果你实现了这一点并点击了"x“--你能点击被覆盖的项目吗?
发布于 2011-05-04 00:31:10
在我的浏览器Chrome 12.0.742.16中淡出之后,没有div覆盖所有内容。很可能你做错了什么,但是没有测试用例,我不能说是什么。
https://stackoverflow.com/questions/5872614
复制相似问题