首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jGrowl -仅限于一条消息

jGrowl -仅限于一条消息
EN

Stack Overflow用户
提问于 2012-06-14 01:21:00
回答 1查看 1.5K关注 0票数 3

我使用jGrowl显示消息和警报,我使用的datepicker短时间连续触发.change()函数三次,这意味着每次选择日期/时间都会显示三条消息,我想将其限制为一条。

我尝试过$.jGrowl.defaults.pool = 1;,但不幸的是,这只会导致消息堆叠,而不是实际上只显示一条消息。

以下是我正在使用的代码,尽管进行了检查,但目前它仍然显示3条消息:

代码语言:javascript
复制
if($('.jGrowl-notification').length == 0) {
    jGrowl('message');
} else {
    if ( $('.jGrowl-notification').not(':visible') ) {
        jGrowl('message');
    }
}

(第一次显示消息时,将创建.jGrowl-notification div,当消息超时时,它将被隐藏)

如有任何帮助将不胜感激,谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-22 19:16:11

可以尝试这样的东西(未测试)

代码语言:javascript
复制
jGrowl('message',{beforeOpen: function() {
    if($('.jGrowl-notification').is(':visible')) {
       return false;
   }
 }
});

jGrowl查看beforeOpen和beforeClose的返回语句,返回false会停止它的继续。

另一种可能的方法是记录是否为该输入打开了咆哮。

代码语言:javascript
复制
$('#yourPicker').change(function() {
   if($(this).data('hasExisting') == 0) {
    jGrowl('message',{
        open: function() {
                $('#yourPicker').data('hasExisting',1);
        },
        close: function() {
                $('#yourPicker').data('hasExisting',0);
        }
        });
   }
});

这种方式在输入中存储一个值,以在尝试排队另一个之前确定当前是否为它打开了一个咆哮。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11020085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档