首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mouseleave还是其他功能?

Mouseleave还是其他功能?
EN

Stack Overflow用户
提问于 2018-11-30 00:20:30
回答 1查看 19关注 0票数 0

我创建了一个表单,我希望只有当用户离开网站时才会出现。我为此搜索了一个函数,我能找到的最接近的是mouseleave

它工作得很好--至少在台式机上是这样(还没检查过移动端),除了有一个问题。我希望弹出窗口只出现一次。现在,每次鼠标走出体外,它都会出现。

完美的解决方案不是使用body,而是检测用户何时进入浏览器的标签/搜索栏。我不知道该放什么,所以body看起来是个不错的起点。

有没有办法将其限制为只工作一次?

代码语言:javascript
复制
$('body').mouseleave(function() {
		$('#specialPop').fadeIn(350);
		$('body').css('overflow', 'hidden');
});
$('[data-popup-close]').on('click', function(e)  {
  var targeted_popup_class = jQuery(this).attr('data-popup-close');
  $('[data-popup="' + targeted_popup_class + '"]').fadeOut(350);
  $('body').css('overflow', 'auto');
  e.preventDefault();
});
代码语言:javascript
复制
#specialPop {
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.8);
	color: #FFF;
	position: fixed;
	z-index: 999999;
	margin: 0;
	padding: 0;
	top: 0;
	right: 0;
	bottom: 0;
	display: none;
}
.popSpecialClose {
	position: absolute;
	right: 40px;
	top: 20px;
	width: 33px;
	height: auto;
	z-index: 99999;
}
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="specialPop" data-popup="popSpecial">
	<a class="popSpecialClose" data-popup-close="popSpecial" href="#">
		Close
	</a>
</div>  

EN

回答 1

Stack Overflow用户

发布于 2018-11-30 00:28:49

代码语言:javascript
复制
  $('window').on('unload',function(e) {
  e.preventDefault();
  //Do your stuff
  });

请注意,大多数浏览器会忽略这种做法,因为它对用户来说太具侵入性了

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53543354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档