2011-04-21 140 views

回答

19

此插件JQM將風格JQM造型的確認框

http://dev.jtsage.com/jQM-SimpleDialog/

編輯:這個插件目前已被SimpleDialog2 supserseeded可以在這裏找到:

http://dev.jtsage.com/jQM-SimpleDialog/demos2/

+0

這個插件確實很棒。彈出對話框是我正在尋找的。如果你不知道它,值得一看。 – chmike 2012-06-03 07:21:26

+0

如果你碰巧使用Backbone,這裏是我的簡單實現http://derekzeng.me/blog/2013/12/11/diy-jqm-popup-dialog/ – coderek 2013-12-11 13:01:55

0

我還沒有看到任何警報,因爲我認爲它使用本機的外觀和感覺。你應該能夠通過另一個jQuery插件和/或CSS來定製它們。

這裏是一個jQuery Example

UPDATE:

嘛鏈路是404現在JQM 1.2是出並提供彈出窗口:

+4

您鏈接已經進入404鏈接 – 2012-01-11 05:40:35

+0

這裏是良好的鏈接:http://www.abeautifulsite.net/blog/2008/12/jquery-alert-dialogs/ – Stephan 2012-10-31 13:49:01

-2

嘗試,

if (confirm("Are you sure?")) 
{ 
    /*code to execute when 'Ok' bttn selected*/ 
} 
+2

它的工作原理,但使用默認的JavaScript對話框。該設計是最小的,在Android上它顯示了稱爲confirm()函數的頁面的URL。這會讓用戶感到困惑。 – chmike 2012-06-01 14:59:08

38

是的,這個插件很不錯。但是,如果您不需要完整的功能,那麼重新推出自己的簡單對話框的重量要輕得多。我用這個:

<div data-role="dialog" id="sure" data-title="Are you sure?"> 
    <div data-role="content"> 
    <h3 class="sure-1">???</h3> 
    <p class="sure-2">???</p> 
    <a href="#" class="sure-do" data-role="button" data-theme="b" data-rel="back">Yes</a> 
    <a href="#" data-role="button" data-theme="c" data-rel="back">No</a> 
    </div> 
</div> 

而且這樣的:

function areYouSure(text1, text2, button, callback) { 
    $("#sure .sure-1").text(text1); 
    $("#sure .sure-2").text(text2); 
    $("#sure .sure-do").text(button).on("click.sure", function() { 
    callback(); 
    $(this).off("click.sure"); 
    }); 
    $.mobile.changePage("#sure"); 
} 

您可以使用這些只要您需要確認對話框:

areYouSure("Are you sure?", "---description---", "Exit", function() { 
    // user has confirmed, do stuff 
}); 
+0

它非常好,非常有幫助。謝謝。 – Mavlarn 2012-05-19 19:41:12

+0

此代碼似乎工作,但嘗試設置對話框,取消,設置取消,然後確認。它會確認兩次。基本上繼續發射事件。爲什麼? – aherrick 2012-10-10 21:35:50

+0

這也沒有阻塞。 如果你是'areYouSure(); alert(「blabla」);'它會顯示對話框和警報,不像普通的javascript警報/提示。對於函數調用後的任何指令都是如此,而不僅僅是警告...... – Stephan 2012-10-31 10:27:50

5

優秀的代碼@彼得,但不被生成連續事件中,使用unbind()可能會更好,如下所示:

function areYouSure(text1, text2, button, callback) { 
    $("#sure .sure-1").text(text1); 
    $("#sure .sure-2").text(text2); 
    $("#sure .sure-do").text(button).unbind("click.sure").on("click.sure", function() { 
    callback(false); 
    $(this).off("click.sure"); 
    }); 
    $.mobile.changePage("#sure"); 
} 

謝謝!

5

我有類似的問題。我想要像標準confirm()一樣使用簡單易用的功能。

由於對話框在jQuery的棄用移動1.4 (documentation),我決定創建自己的小提琴:

function confirmDialog(text, callback) { 
var popupDialogId = 'popupDialog'; 
$('<div data-role="popup" id="' + popupDialogId + '" data-confirmed="no" data-transition="pop" data-overlay-theme="b" data-theme="b" data-dismissible="false" style="max-width:500px;"> \ 
        <div data-role="header" data-theme="a">\ 
         <h1>Question</h1>\ 
        </div>\ 
        <div role="main" class="ui-content">\ 
         <h3 class="ui-title">' + text + '</h3>\ 
         <a href="#" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b optionConfirm" data-rel="back">Yes</a>\ 
         <a href="#" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b optionCancel" data-rel="back" data-transition="flow">No</a>\ 
        </div>\ 
       </div>') 
    .appendTo($.mobile.pageContainer); 
var popupDialogObj = $('#' + popupDialogId); 
popupDialogObj.trigger('create'); 
popupDialogObj.popup({ 
    afterclose: function (event, ui) { 
     popupDialogObj.find(".optionConfirm").first().off('click'); 
     var isConfirmed = popupDialogObj.attr('data-confirmed') === 'yes' ? true : false; 
     $(event.target).remove(); 
     if (isConfirmed && callback) { 
      callback(); 
     } 
    } 
}); 
popupDialogObj.popup('open'); 
popupDialogObj.find(".optionConfirm").first().on('click', function() { 
    popupDialogObj.attr('data-confirmed', 'yes'); 
}); 

}

我注意到奇怪的現象,重定向時,/是「是」進行結算窗口按鈕點擊。它在afterClose事件後開始工作,所以這就是爲什麼它有點複雜。

Here is a jsfiddle demo

+0

多麼偉大的插件偉大的工作! – wallerjake 2014-03-02 18:48:10

+0

足夠接近我正在尋找的東西。我結束了剛剛離開定義的模式在頁面上,刪除了前幾行以及$(event.target).remove();謝謝。 – Sotelo 2014-04-28 19:14:16

1

這個插件 craftpip/jquery-confirm

最初被設計用於移動,是基於bootstrap3框架。 支持警報,確認,模態,對話框和許多選項。

簡單易用。

$.alert({ 
    title: 'title here', 
    content: 'content here', 
    confirm: function(){ 
     //on confirm 
    }, 
    cancel: function(){ 
     // on cancel 
    } 
}) 

支持AJAX加載,CSS3動畫,響應等

[編輯] 詳細文檔可以發現here

功能列表:

  • 主題(機器人主題包括)
  • Ajax加載內容。
  • CSS3動畫(二維& 3D動畫)
  • 動畫彈跳選項
  • 自動關閉(觸發超時後一動作)
  • 圖標
  • 背景解僱(關閉模式上點擊模式外)
  • 鍵盤動作(ENTER/SPACE觸發器確認,ESC觸發器取消)
  • 詳細API用於以模態方式改變內容。

我正在積極開發插件,請提出改進​​建議和功能。