限制 .live() 函数在 JavaScript 中变为活动状态的次数



我有一个javascript,它有一个实时函数:

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

现在,每当我单击其将类设置为"myid"的相关链接时,都会弹出一个框并显示该消息。现在的问题是,如果上一个框仍然处于活动状态,并且我再次单击"myid"链接,我再次在上一个框下方弹出一个弹出窗口。我单击链接的次数与弹出窗口的次数一样多。我希望一次只能看到一个弹出窗口。请帮忙。

jGrowl 似乎没有提供使通知模式的选项(这并不奇怪),但您可以在 jGrowl 实例上使用 beforeCloseclose 回调(有关这些的详细信息,请参阅文档)和一个标志:

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

相关内容

  • 没有找到相关文章

最新更新