我試圖重寫與jQueryUI的對話框中的默認確認框,這裏是我的嘗試:jQueryUI對話框替換確認?
window.confirm = function (message_confirm) {
$(document.createElement('div'))
.attr({ title: 'Please confirm', 'class': 'confirm', 'id': 'dialogconfirm' })
.html(message_confirm)
.dialog({
buttons: { YES: function() { return true; }, NO: function() { $(this).dialog('close'); } },
close: function() { $(this).remove(); },
draggable: true,
modal: true,
resizable: false,
width: 'auto',
hide: { effect: "fade", duration: 300 },
});
};
這工作,因爲一旦這個腳本的運行,調用定期confirm
顯示jQueryUI的對話框,但是,YES
選擇不起作用。我有一個像下面這樣的ajax調用:
if (confirm("Are you sure you want to delete this user?"))
{
alert("test");
//ajax call
}
return false;
而測試警報沒有出現。對話的NO選項沒問題。我怎樣才能讓YES工作?
謝謝。
任何錯誤?嘗試與console.log而不是警報? console.log是否在「YES:」函數中工作(用return true替換)? – ggzone
@ggzone沒有錯誤。用'console.log(「對話框被點擊」)代替'return true',並且當我點擊是時它在控制檯上正確顯示。 console.log代替警報也沒有出現(與原始警報測試相同的行爲)。 – ITWorker
好吧,你想要一個回調函數。已經有一個很好的答案如何做到這一點 – ggzone