我正在创建一个应该触发一次的退出弹出窗口。用户关闭弹出窗口后,再次出现.mouseleave()
时再次出现。这是我的功能:
$('body').mouseleave(function () {
$('#popup-container').css('display', 'grid');
$('#popup-bg').fadeIn();
Cookies.set('~plan-popup', true, {expires: 7, path: ''});
});
我发现的每篇文章都解释了如何使用.one()
和.one("click", function()
。我想使用.one()
和.mouseleave()
所以这些帖子没有帮助。 (我意识到标题看起来很相似,但在你标记为重复之前请去阅读其他帖子,他们不回答我的问题。)
即使是jQuery documentation的.one()
对此也无济于事。
如何才能使这个.mouseleave()
函数触发一次?
更正:我需要熟悉jQuery术语。我没有意识到.mouseleave()
是一个“事件”。文档确实在这里解决了这个问题:
.one( events [, data ], handler )
活动 类型:String包含一个或多个JavaScript事件类型的字符串,例如“click”或“submit”或自定义事件名称。
jQuery中的mouseleave()
只是on('mouseleave', ...)
的包装器。因此,要使用one()
版本,它将在第一次执行后自动删除它,您只需要使用非包装器绑定。
$(selector).one('mouseleave', ...)