拦截用户刷新或离开页面
来源:互联网 发布:fft算法 matlab 编辑:程序博客网 时间:2024/05/21 10:31
var EventUtil={ addHandler:function(element,type,handler){ //添加事件 if(element.addEventListener){ element.addEventListener(type,handler,false); //使用DOM2级方法添加事件 }else if(element.attachEvent){ //使用IE方法添加事件 element.attachEvent("on"+type,handler); }else{ element["on"+type]=handler; //使用DOM0级方法添加事件 } }, removeHandler:function(element,type,handler){ //取消事件 if(element.removeEventListener){ element.removeEventListener(type,handler,false); }else if(element.detachEvent){ element.detachEvent("on"+type,handler); }else{ element["on"+type]=null; } }, getEvent:function(event){ //使用这个方法跨浏览器取得event对象 return event?event:window.event; }, getTarget:function(event){ //返回事件的实际目标 return event.target||event.srcElement; }, preventDefault:function(event){ //阻止事件的默认行为 if(event.preventDefault){ event.preventDefault(); }else{ event.returnValue=false; } }, stopPropagation:function(event){ //立即停止事件在DOM中的传播 //避免触发注册在document.body上面的事件处理程序 if(event.stopPropagation){ event.stopPropagation(); }else{ event.cancelBubble=true; } }, getRelatedTarget:function(event){ //获取mouseover和mouseout相关元素 if(event.relatedTarget){ return event.relatedTarget; }else if(event.toElement){ //兼容IE8- return event.toElement; }else if(event.formElement){ return event.formElement; }else{ return null; } }, getButton:function(event){ //获取mousedown或mouseup按下或释放的按钮是鼠标中的哪一个 if(document.implementation.hasFeature("MouseEvents","2.0")){ return event.button; }else{ switch(event.button){ //将IE模型下的button属性映射为DOM模型下的button属性 case 0: case 1: case 3: case 5: case 7: return 0; //按下的是鼠标主按钮(一般是左键) case 2: case 6: return 2; //按下的是中间的鼠标按钮 case 4: return 1; //鼠标次按钮(一般是右键) } } }, getWheelDelta:function(event){ //获取表示鼠标滚轮滚动方向的数值 if(event.wheelDelta){ return event.wheelDelta; }else{ return -event.detail*40; } }, getCharCode:function(event){ //以跨浏览器取得相同的字符编码,需在keypress事件中使用 if(typeof event.charCode=="number"){ return event.charCode; }else{ return event.keyCode; } } }; EventUtil.addHandler(window,"beforeunload",function(event){ console.log("aa");// event = EventUtil.getEvent(event); localStorage.removeItem("position"); var msg = "确定要离开吗?"; setTimeout(function(){ setTimeout(beforeloadResult, 50)} , 50);// event.returnValue = msg; // 不返回就不会出现确认框// return msg; window.open(' ', '_self', ' '); window.close(); }); function beforeloadResult () {// alert("你取消了离开网页!"); $(".loadBg").hide(); $("#load-img").hide(); }
阅读全文
0 0
- 拦截用户刷新或离开页面
- js判断离开页面刷新或关闭的方法
- 兼容FF,IE,Chrome的js离开或刷新页面检测
- 在用户离开页面(刷新、后退、关闭等)时提示信息
- 在用户离开页面(刷新、后退、关闭等)时提示信息
- 在用户离开页面(刷新、后退、关闭等)时提示信息.txt
- Javascript判断用户离开当前页面或关闭浏览器并给出提示
- 利用XML不离开页面刷新数据
- 禁止用户刷新页面
- 在用户离开页面时提示信息
- 在用户离开页面时提示信息
- 在用户离开页面时提示信息
- 用户离开当前页面弹框提示
- 页面关闭或刷新时
- JS 页面刷新或重载
- html页面刷新或重载
- 用户离开页面前,提示是否离开此页面(包括浏览器按钮事件)
- [备份]用户离开页面前,提示是否离开此页面(包括浏览器按钮事件)
- 在java项目中,_id被fastjson转为json时,丢失的解决方案
- 过滤器
- Transp. Table CDHDR(Change document header)
- Redis配置文件参数说明
- anjular控制器
- 拦截用户刷新或离开页面
- 并发编程实现模型之(二)Master-Worker模式
- PhalGo-参数验证过滤
- 详解Spring整合Quartz实现动态定时任务
- 缓存中常见的问题及解决方案
- Hibernate(二)环境配置
- 什么是递归
- Vue2.1.7源码学习
- 【Python编程:从入门到实践】第五章:if语句