本文實例講述了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,注意要重新定義。
更多關於jQuery相關內容有興趣的讀者可查看本站專題:《jQuery常用插件及用法總結》
希望本文所述對大家jQuery程式設計有所幫助。