Jquery Cluetip - очистить содержимое, загруженное ajax - PullRequest
2 голосов
/ 23 апреля 2010

Я использую плагин jquery cluetip и пытаюсь выяснить, как удалить любые открытые диалоги cluetip, как только я загружаю новый контент через ajax.Я либо застрял с диалоговыми окнами, которые по-прежнему отображаются поверх нового контента, либо способами, которые я пытался исправить, фактически убирают все будущие диалоги подсказок для показа вообще.

Вот мой код, спасибо за любую помощь.

Когда все готово, я создаю Cluetip, как показано ниже.

//activate cluetip
        $('a.jTip').cluetip({
            attribute: 'href',
            cluetipClass: 'jtip',
            arrows: true,
            activation: 'click',
            ajaxCache: false,
            dropShadow: true,
            sticky: true,
            mouseOutClose: false,
            closePosition: 'title'
         });

Когда я загружаю новый контент, у меня есть следующий код.У меня проблема в том, что $ ('. Cluetip-jtip'). Empty () препятствует открытию диалоговых окон для любого нового загруженного контента, в то время как функция destroy не удаляет все открытые диалоговые окна, а просто уничтожаеттекущий объект.

        $('.next a').live("click", function(){

            var toLoad = $(this).attr('href');

            var $data = $('#main_body #content');

            $.validationEngine.closePrompt('body'); //close any validation messages
            $data.fadeOut('fast', function(){
                $data.load(toLoad, function(){
                    $data.animate({
                        opacity: 'show'
                    }, 'fast');
                    //reinitialise datepicker and toolip
                    $(".date").date_input();
                    //JT_init();
                    $('.hidden').hide();
                    //scroll to top of form
                    $("html,body").animate({
                        "scrollTop": $('#content').offset().top + "px"
                    });
                    //remove existing instance
                    //$('a.jTip').cluetip('destroy');
                    //remove any opened popups
                    $('.cluetip-jtip').empty();
                    //reinitialise cluetip
                     $('a.jTip').cluetip({
                        attribute: 'href',
                        cluetipClass: 'jtip',
                        arrows: true,
                        activation: 'click',
                        ajaxCache: false,
                        dropShadow: true,
                        sticky: true,
                        mouseOutClose: false,
                        closePosition: 'title'
                    });
                });
            });

            return false;
        });

1 Ответ

0 голосов
/ 23 апреля 2010

Вы пытались вызвать подсказку, чтобы закрыть открытые диалоги?Добавьте это вместо использования $('.cluetip-jtip').empty();

$(document).trigger('hideCluetip');
...