我正在创建应该触发一次的退出弹出窗口。用户关闭弹出窗口后,再次出现.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()
一起使用,因此这些帖子无济于事。 (我意识到标题看起来很相似,但是在您标记为重复之前,请先阅读其他文章,它们不会回答我的问题。)
.one()
的{{3}}对此无济于事。
如何使此.mouseleave()
函数仅触发一次?
更正:我需要熟悉jQuery术语。我没有意识到.mouseleave()
是一个“事件”。该文档实际上在这里进行了介绍:
.one( events [, data ], handler )
事件
类型:字符串 包含一个或多个JavaScript事件类型的字符串,例如“ click”或“ submit”或自定义事件名称。
答案 0 :(得分:1)
mouseleave()
只是on('mouseleave', ...)
的包装。因此,要使用one()
版本,该版本会在首次执行后自动将其删除,您只需要使用non-wrapper绑定即可。
$(selector).one('mouseleave', ...)