Bootstrap Popover производительность - PullRequest
0 голосов
/ 26 июня 2018

Я пытаюсь использовать всплывающее окно Bootstrap в форме бритвы. У меня есть список вещей на странице, которые могут иметь любое количество строк. Один из элементов в строке, который я хочу, чтобы всплывающее окно отображалось при наведении на него курсора. (не мое требование)

У меня поповерный код работает нормально, но он ЧРЕЗВЫЧАЙНО медленный. если в списке было 50 элементов, браузер блокируется на 30 секунд, добавляя функциональность всплывающих окон к каждому элементу.

Это моя уменьшенная функция загрузки каждой вещи:

$("[name=pop]").each(function () {
        $(this).popover({
            trigger: "hover",
            html: true,
            animation: false,
            content: getContent($(this).prop("title"))
        });
    });

это ОЧЕНЬ МЕДЛЕННО. Я не думаю, что видел, как jquery зацикливался на каждом из них раньше. Поповер пытается ли предварительно заполнить содержимое? У меня есть вызов функции, чтобы получить частичное представление содержимого при загрузке всплывающих окон. Он не вызывает мой getContent, поэтому я предполагаю, что он не пытается предварительно загрузить.

Есть ли способ ускорить это или есть лучший способ сделать это?

1 Ответ

0 голосов
/ 27 июня 2018

Измените атрибут title на data-content и используйте приведенный ниже код.

$("[name=pop]").popover({
            trigger: "hover",
            html: true,
            animation: false
        });

Обновление:

Чтобы загружать содержимое динамически, попробуйте что-то вроде этого

$("[name=pop]").hover(function() {
   $(this).popover({
                trigger: "hover",
                html: true,
                animation: false,
                content: getContent($(this).prop("title"))
            }).popover('show');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...