Диалоговое окно подтверждения необычного окна

#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. Я попробую использовать параметр содержимого