#jquery #html
#jquery #HTML
Вопрос:
Я создаю диалоговое окно подтверждения с помощью fancybox. Это модуль, обрабатывающий создание диалогового окна
var Utility = (function() {
function confirm_dialog(title,msg,callback)
{
var ret;
$.fancybox('<div class="confirm-dialog"></div>',
{
'width':400,
'height':250,
'modal' : true,
'transitionIn' : 'none',
'transitionOut': 'none',
'speedIn' : 300,
'speedOut' : 300,
'autoScale' : false,
'scrolling' : 'no',
'overlayShow' : true,
'overlayOpacity' : 0.3,
'overlayColor' : '#666',
'padding':10,
'onComplete':function() {
$('.okBtn').click(function(){
ret = true;
$.fancybox.close();
})
$('.cancelBtn').click(function() {
ret = false;
$.fancybox.close();
})
},
'onClosed':function() {
callback.call(this,ret);
}
});
var html = '<div class="confirm-box">'
'<div class="confirm-title">' title '</div>'
'<div class="confirm-msg">' msg '</div>'
'<div class="confirm-buttons">'
'<button class="okBtn">Ok</button>'
'<button class="cancelBtn">Cancel</button>'
'</div>'
'</div>';
$('.confirm-dialog').append(html);
}
return { dialog : confirm_dialog }
})();
Вот как я реализую свой диалог подтверждения
Utility.dialog('Delete Pheed','Are sure you want to delete this pheed ?',
alert('hi'));
появляется необычное окно, но диалоговое окно не отображается, что я делаю не так
Ответ №1:
API fancy box имеет content
опцию, которая может включать содержимое html. Вместо генерации содержимого confirm-dialog
div вы могли бы включить его напрямую.
РЕДАКТИРОВАТЬ: Пожалуйста, убедитесь, что у вас есть fancybox версии 1.3 для content
работы.
Я не уверен в этом, и, пожалуйста, поправьте меня, если я ошибаюсь, проблема с этим подходом заключается в том, что confirm-dialog
div может быть не найден в элементах dom после вызова fancybox
функции.
Комментарии:
1. Я попробую использовать параметр содержимого