javascript - js窗口逃生效果求教
伊谢尔伦
伊谢尔伦 2017-04-11 11:51:47
[JavaScript讨论组]

要做一个后台,编辑文章的功能,产品要求,当用户点开编辑窗口进行修改并没有保存时,点击编辑窗口以外的任何地方,阻止默认事件,弹窗令用户选择是否保存后再执行默认事件。
想来想去没有很好的解决办法,求一个思路.

问题主要在于不是关闭浏览器触发弹框,而是点击页面上的非编辑窗口部分时都要触发,而这些部分里有各种绑定事件、链接之类的。

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(4)
阿神

原本的想法是能不能通过给编辑窗口添加失焦事件,弹出自定义confirm,根据confirm的选择判断是否执行默认事件,结果还是放弃了…
最后只能给每个链接和事件添加判断方法,传入默认执行函数作为回调参数
类似这样

<a href="index.php">首页</a>

改为

<p id="myconfirm">
    <p>确认离开?</p>
    <button id="yes">是</button><button id="no">否</button>
</p>
<a href="javascript:void(0)">首页</a>
<script>
$('a').click(function(){
    myconfirm(function(){
        window.location.href="index.php";
    },function(){
        return false;
    });
});
function myconfirm(fun_yes,fun_no){
    $('#yes').unbind();
    $('#no').unbind();
    $('#yes').click(function(){
        fun_yes();
    });
    $('#no').click(function(){
        fun_no();
    });
    $('#myconfirm').show();
}
</script>
PHP中文网

一个很流行的对话框插件,
http://aui.github.io/artDialo...

迷茫

监听浏览器关闭事件

ringa_lee

给编辑器绑定onblur事件不行吗?

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号