jquery ui dialog 替代 confirm的例子

作者:袖梨 2022-06-25

js的confirm,有的浏览器会直接屏蔽掉,导致功能无法使用,推荐使用jquery ui 的dialog功能,完美替换
confirm功能

1,html代码


 
把上面代码放到公用的地方

2,模拟confirm js代码


var common = { 
    confirm_act:function(dialog_id,msg,callback) { 
        $("#"+dialog_id).html("

"+msg+"

"); 
        $("#"+dialog_id).dialog({ 
            resizable: false, 
            modal: true, 
            overlay: { 
                backgroundColor: '#000', 
                opacity: 0.5 
            }, 
            buttons: { 
                '确认': function() { 
                    callback.call(); 
                    $(this).dialog('close'); 
                }, 
                '取消': function() { 
                    $(this).dialog('close'); 
                } 
            } 
         }); 
    } 

定义了一个方法confirm_act,放到公用js文件中,第一个参数,弹层的ID,第二个参数是提示消息,第三个,是回调函数。
注意,调用回调函数时,要用js的call()函数,这个回调函数可以带参数,也可以再包含回调函数。

3,回调js代码


var recommend = { 
    delete: function(url,obj) 
    { 
        $.ajax({ 
            url: url, 
            type: "get", 
            success:function(data) 
            { 
                ............省略.......... 
            } 
        }); 
    } 

4,怎么调用


$('.recommended_delete').click(function(){ 
    var obj = this;    //重命名 
    common.confirm_act('confirm_dialog',$(obj).attr('msg'),function(){recommend.delete($(obj).attr('url'),obj)}); 
}); 

注意,如果函数中要传this,注意要重新定义。

相关文章

精彩推荐