限制时间.live()函数在javascript中变为活动状态

时间:2015-03-08 18:49:29

标签: javascript live

我有一个具有实时功能的javascript:

$('.myid').live('click', function () {
            $.jGrowl("<strong style='color: yellow;'>Hello</strong><p>The message is so and so</p>", {'life': 5000});
                  })

现在,每当我点击其相关链接,将类作为“myid”时,弹出一个Box并显示该消息。 现在的问题是,如果上一个框仍处于活动状态,我再次单击“myid”链接,我再次弹出一个刚好在前一个框下方。很多时候我点击了很多时间我弹出的链接。 我希望一次只能看到一个弹出窗口。 请帮忙。

1 个答案:

答案 0 :(得分:1)

jGrowl似乎没有提供制作通知模式的选项(这并不令人惊讶),但你在jGrowl实例上使用beforeCloseclose回调(see the documentation了解详情)和标志:

var warningOpen = false;
$('.myid').live('click', function () {
    if (!warningOpen) {
        warningOpen = true;
        $.jGrowl("<strong style='color: yellow;'>Hello</strong><p>The message is so and so</p>", {
            'life': 5000,
            'close': function() {
                warningOpen = false;
            }
        });
    }
});

如果您想使其特定于所点击的特定元素,您可以使用data执行此操作。


请注意,live在几年前已被弃用,并删除了一些版本。在今天的世界中使用on