我有一个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 实例上使用 beforeClose
或 close
回调(有关这些的详细信息,请参阅文档)和一个标志:
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
。