2

我正在使用 jGrowl 在屏幕上显示一条消息。看起来不错。但是,在消息淡出之后,jGrowl div 仍然覆盖在它下面的那些元素,所以它们是不可点击的!

这在我的例子中特别明显,因为我编辑了样式以确保消息显示在屏幕的中心。

div.jGrowl.center {
    height:             50%;
    top:                25%;
    width:              50%;
    left:               25%;
}

像jGrowl这样被这么多人使用的插件真的有这个问题吗?或者是因为我做错了什么。

我在 Chrome 中检查了“检查元素”,果然,这是覆盖我页面上其他元素的元素:

<div id="jGrowl" class="center jGrowl">
<div class="jGrowl-notification"></div>
</div>

更新 - 这是解决方案:

$("#jGrowl").show();
$.jGrowl("my message", {
    beforeClose: function(e,m) {
        $("#jGrowl").hide();
    }
});

ELABORATION - 在尝试了不同的事情之后,我发现以下是最好的解决方案。在页面加载时为这些事件添加默认设置:

$(function () {
    $.jGrowl.defaults.beforeOpen = function(e,m) { $("#jGrowl").show(); };
    $.jGrowl.defaults.close = function(e,m) { $("#jGrowl").hide(); };
}
4

2 回答 2

0

我对 jGrowl 不熟悉,但您能否检查以确保“关闭”事件正在触发?

jGrowl 带有“关闭”窗口的能力,在角落里有一个“X”?如果您实施该操作并单击“x” - 您是否能够单击所涵盖的项目?

于 2011-05-03T16:30:56.593 回答
0

在我的浏览器 Chrome 12.0.742.16 中淡出后,没有 div 覆盖所有内容。很有可能你做错了什么,但没有测试用例我不能说什么。

于 2011-05-03T16:31:09.577 回答