Интеграция jQuery типсы с включенным jQuery

0

У меня есть сайт с бесконечными страницами и динамически загружаемым контентом.

В настоящее время я использую jQuery tipy plugin и должен называть его любой функцией, которая динамически добавляет контент на сайт (чтобы получить всплывающие подсказки для этого нового контента). В настоящее время я изменяю свои привязки к ons, что поможет достичь этого, если щелкнуть и другие события.

Мой текущий код, который повторяется много:

   $("[data-tooltip]").tipsy({settings here});

Можно ли использовать jQuery ON и привязать его к телу, и если контент добавляется в тело, контент (если он имеет атрибут [подсказка] - будет автоматически запускать подвыпимую функцию?

Например:

 $("body").on("something","[data-tooltip]", function (e) { 
         $("[data-tooltip]").tipsy({settings here}); 
 });

благодаря

Теги:
tipsy

1 ответ

0

Вам было бы намного лучше, если бы на самом деле просто tipsy после каждой новой загрузки контента, как вы могли бы знать:

$.ajax({
   ..
   success: function( newHtml ) {
       $('#container').append( newHtml );
       $('#container .tipsy').tipsy({
           /** Your settings **/
       });
   }
}); 

Чтобы достичь того, о чем вы просите; вам придется применить какой-то "слушатель". Ждать новых вставленных элементов DOM. В нем необработанная базовая форма:

function listenForNewToolTips() {
    $('.someclass[data-tooltip]:not([data-hastipsy])').tipsy({ 
           /** Apply data-hastipsy='true' **/ 
    });
    //Look again in 1000 milliseconds.
    setTimeout( listenForNewToolTips, 1000 );
}

Который выше, довольно недостаточен, поскольку это будет постоянный цикл. on прислушивается ко многим событиям, хотя удивительно там не так много событий, которые прислушиваются к каждому изменению элемента DOM:

Ещё вопросы

Сообщество Overcoder
Наверх
Меню