1.子页面监控父级tabs页面关闭事件
两种方式:
其一↓
var jq = top.jQuery;
jq("#tt").tabs({
onBeforeClose: function(title,index){
var target = this;
if(title=="//此处为title名"){
alert("aaa");
AuditCashierConfig.cancelTrade();
}
return true; // 阻止关闭
}
});
// 若当前页为收银确认则默认选中
if (jq("#tt").tabs('exists', "//此处为title名")){
jq("#tt").tabs('select', "//此处为title名");
}
其二↓
$(window).unload(function (evt) {
if (typeof evt == 'undefined') {
evt = window.event;
}
if (evt) {
var n = window.event.screenX - window.screenLeft;
var b = n > document.documentElement.scrollWidth-20;
if(b && window.event.clientY < 0 || window.event.altKey){
// 这个可以排除刷新 关闭的时候触发
$.messager.confirm('确认','你确认想要关闭'+title,function(r){});
}
}
});
2.监控某页面关闭或刷新浏览器或浏览器页面事件
window.onbeforeunload = onbeforeunload_handler; // 关闭页面之前
window.onunload = onunload_handler; // 关闭页面,此处加任何操作都不会影响关闭或者刷新页面
function onbeforeunload_handler(){
var warning="确认退出?";
return warning;
}
function onunload_handler(){
var warning="谢谢光临";
alert(warning);
}
// 排除刷新页面
window.onbeforeunload = function() //author: meizz
{
var n = window.event.screenX - window.screenLeft;
var b = n > document.documentElement.scrollWidth-20;
if(b && window.event.clientY < 0 || window.event.altKey)
{
alert("是关闭而非刷新");
window.event.returnValue = ""; //这里可以放置你想做的操作代码
}
}
<span style="font-family:Helvetica, Tahoma, Arial, sans-serif;font-size:14px;color:#000000;font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 25.2px; orphans: auto; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px; display: inline !important; float: none; background-color: rgb(255, 255, 255);">
</span>