A-A+
	jquery ui dialog 替代 confirm的例子
jquery ui dialog是一个弹出层一样的确认提示框了而confirm是js原生太的确认提示框了,confirm有一个缺点就是点击时会有声音了,所以体验非常的不错了,下面我们来看一个jquery ui dialog 替代 confirm的例子
js的confirm,有的浏览器会直接屏蔽掉,导致功能无法使用,推荐使用jquery ui 的dialog功能,完美替换confirm功能.
1,html代码
- <div id="confirm_dialog" title="提示" style="display:none;">
 - </div>
 
把上面代码放到公用的地方
2,模拟confirm js代码
- 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代码
- 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,注意要重新定义。