Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何使.mouseleave()函数触发一次_Jquery - Fatal编程技术网

Jquery 如何使.mouseleave()函数触发一次

Jquery 如何使.mouseleave()函数触发一次,jquery,Jquery,我正在创建一个应该触发一次的退出弹出窗口。用户关闭弹出窗口后,当他们再次单击鼠标时,弹出窗口会重新出现。这是我的职责: $('body').mouseleave(function () { $('#popup-container').css('display', 'grid'); $('#popup-bg').fadeIn(); Cookies.set('~plan-popup', true, {expires: 7, path: ''})

我正在创建一个应该触发一次的退出弹出窗口。用户关闭弹出窗口后,当他们再次单击鼠标时,弹出窗口会重新出现。这是我的职责:

    $('body').mouseleave(function () {
        $('#popup-container').css('display', 'grid');
        $('#popup-bg').fadeIn();
        Cookies.set('~plan-popup', true, {expires: 7, path: ''});
    });
我找到的每一篇文章都解释了如何使用。一篇带有.oneclick功能的文章。我想用.一个带.mouseleve的,这样那些帖子就没用了。我知道标题看起来很相似,但在你标记为副本之前,请阅读其他帖子,它们没有回答我的问题

即使是这个,一个也帮不了什么忙

我怎样才能使这个.鼠标移动功能只触发一次

更正:我需要熟悉jQuery术语。我没意识到,留鼠标是件大事。文档实际上在这里讨论了这一点:

.one事件[,数据],处理程序事件 类型:字符串 包含一个或多个JavaScript事件类型(如单击或提交)或自定义事件名称的字符串

jQuery中的mouseleave只是“mouseleave”上的包装器。。。。因此,要使用第一次执行后将自动删除它的版本,您只需要使用非包装器绑定

$(selector).one('mouseleave', ...)

否则,$'body.mouseleave函数{->$'body.one'mouseleave',函数{。文档非常清晰。弹出窗口只在你离开主体时触发,正如预期的那样。它是一个退出意图弹出窗口。你在文档中看到了什么?你有链接吗?Nvm,它是mouseout冒泡。所以是的,使用api指定的一个将允许绑定最多发生一次。谢谢。我几乎肯定我尝试过了。o以前没有“mouseleave”功能,但它不工作,但现在正在工作。如果你回复帖子,我会接受它。@Taplar顺便说一句,你对文档的看法是正确的。我没有意识到。mouseleave是一个事件。为了清楚起见,我更新了帖子。