Как включить всплывающую подсказку для динамически добавленного кода? - PullRequest
0 голосов
/ 18 августа 2011

У меня есть сайт, который использует пейджинг.

Я использую следующий плагин для всплывающих подсказок: http://plugins.jquery.com/project/tooltip

Я использую AJAX для обновления контейнера div.Это код:

$(".page-number").live("click", function () 
    {

        var page = parseInt($(this).html());
        var progressbarValue = ((page / $("#NumberOfPages").val()) * 100);
        var catId = $("#CategoryID").val();

        $.ajax({
            url: '@Url.Action("QuestionList")',
            data: { "categoryId": catId, "page": page },
            success: function (data) {
                $("#question-list").html(data);
                $("#progressbar").progressbar("value", progressbarValue);
                $("#progresstext").html("<p>" + Math.round(progressbarValue) + "% gennemgået</p>");
                EnableDisableToolTip();
            }
        });
    });

Эта функция включает / отключает всплывающие подсказки:

<script type="text/javascript">
function EnableDisableToolTip() {

    var help_text = $("#helptext_checkbox").is(':checked:');

    if (help_text) {
    alert("true");
        $(".tooltip").qtip("enable")
    }
    else if (!help_text) {
    alert("false");
    $(".tooltip").qtip("disable");
    }        
}
</script>

Когда я загружаю новую страницу, я не вижу никаких всплывающих подсказок при наведении курсора мышинад элементом с class = "tooltip".Кроме того, когда я просматриваю исходный код, динамически добавленного кода там нет.Это работает на первой странице, и исходный код с class = "tooltip" там.Но не с динамическими вещами.

Как я могу решить эту проблему?

[РЕДАКТИРОВАТЬ]

Код подсказки:

        $(".tooltip").each(function() 
    { 
    $(this).qtip({

        show: 'mouseover',
        hide: 'mouseout',

        style: {
            name: 'light', // Inherit from preset style
            width: {
                min: 0,
                max: 250
                },
        },

        position: {
            corner: {
                target: 'topMiddle',
                tooltip: 'bottomLeft'
            },
            adjust: {
                screen: true,
                scroll: false

            }
         }
   });
});

Ответы [ 2 ]

0 голосов
/ 18 августа 2011

В EnableDisableToolTip имеется условие для включения / отключения подсказки ($("#helptext_checkbox").is(':checked:')). Вы уверены, что это проверяется, когда вы делаете AJAX-вызов? Я думаю, что это не проверено, из-за чего всплывающая подсказка не включена.

0 голосов
/ 18 августа 2011

Просмотр страницы источника показывает, что было доставлено клиенту, когда страница была первоначально запрошена. Это не показывает текущий DOM.

Когда вы добавляете новый контент на страницу, он не знает, что было запущено. Вам нужно повторно сканировать страницу с подсказками при добавлении контента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...