弹窗点击周边隐藏交互(事件冒泡)

    /**
     * 关闭登录框事件
     */
    var maskClose = function(){
        //隐藏模态框
        $('.mask').hide();
        //注册框样式回归初始状态
        $('.register-modal').removeClass('register-able');
        //登陆框样式回归初始状态
        $('.login-modal').removeClass('login-left').removeClass('login-able').removeClass('to-right');
        $('.psw-back-modal').removeClass('to-middle');
    };
    // 隐藏按钮 // 点击其他区域 也隐藏
    $('.hide-btn,.mask').click(maskClose);

假如你想做的效果是点击弹窗的周边区域或关闭按钮,弹窗都能隐藏,你的js可能会给大背景绑定事件,那么你可能会遇到事件冒泡的问题,因为,当你点击弹窗,事件也会向上冒泡,认为是点了大背景,造成的现象就是点击弹窗本身,弹窗也会隐藏,所以这个时候,需要再给弹窗写一个阻止事件冒泡就OK了。

    $('.user-modal').click(function(event){
        var e = event||window.event;
        e.stopPropagation();
    });

你可能感兴趣的:(弹窗点击周边隐藏交互(事件冒泡))