query ui dialog替代confirm的实现方法

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

1、html代码

?
1
2
< div id = "confirm_dialog" title = "提示" style = "display:none;" >
</ div >

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

2、模拟confirm js代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
var common = {
   confirm_act: function (dialog_id,msg,callback) {
     $( "#" +dialog_id).html( "<p class='message'>" +msg+ "</p>" );
     $( "#" +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代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
var recommend = {
   delete : function (url,obj)
   {
     $.ajax({
       url: url,
       type: "get" ,
       success: function (data)
       {
         ............省略..........
       }
     });
   }
}

4、怎么调用

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值