2017-11-08 106 views
5

Jestem nowicjuszem javascript i mogę skorzystać z Twojej pomocy. Po raz pierwszy moi strona PJAX ładunki, moje podpowiedzi działa:Bootstrap 4 tooltipy przestają działać po wywołaniu jquery-pjax AJAX

$(document).ready(function() { 
$(document).pjax('a', '#main', {cache: false}); 
$('[data-toggle="tooltip"]').tooltip(); 
} 

one utknąć chyba wykonaj następujące czynności:

$(document).on('pjax:start', function(event) { 
$('[data-toggle="tooltip"]').tooltip('dispose'); 
}); 

Próbowałem ponownie zainicjować je na pjax: koniec czy pjax: kompletne bez szczęścia. Dostaję dziwnie wyglądającą etykietkę narzędziową, jeśli długo trzymam wskaźnik myszy, ale nie etykietkę programu startowego.

Jak zainstalować ponownie podpowiedzi po zakończeniu XHR?

Bootstrap v4.0.0-beta.2 https://v4-alpha.getbootstrap.com/components/tooltips/

https://github.com/defunkt/jquery-pjax

Odpowiedz

2

Użyłem bloku skryptu poza moim kontenerem pjax #main. Kiedy przestawiam kod poniżej najniższego najniższego bloku skryptu, który wrócił do kontenera, życie jest dobre. Etykieta narzędzia nie jest zablokowana, gdy używam skrótu klawiaturowego do nawigacji AJAX lub gdy klikam pole wyboru z podpowiedzią. Etykieta narzędzia jest etykietą ładowania początkowego, kiedy po raz pierwszy ładuję stronę i kiedy używam AJAX, aby dotrzeć do strony. (Nie jestem pewien, czy potrzebuję wywołania off(), ale nie powinno to boleć.)

$('[data-toggle="tooltip"]').tooltip(); 
$(document).off('pjax:start'); 
$(document).on('pjax:start', function(event) { 
    $('[data-toggle="tooltip"]').tooltip('dispose'); 
}); 
0

wykonuje następujące prace?

$(document).ready(function() { 
    $(document).on('pjax:success', 'a[data-pjax]', function(event) { 
    $('[data-toggle="tooltip"]').tooltip('dispose'); 
    $('[data-toggle="tooltip"]').tooltip();  
    }); 
    $(document).pjax('a', '#main', {cache: false}); 
}); 
+0

Dziękujemy! Powinienem wspomnieć, że używam pjax dla formularzy, a nie tylko dla wszystkich moich kotwic. Kiedy pomijam "dane-pjax", nadal pozostaję z zablokowanymi etykietami narzędzi. Blok pjax: start zapobiega temu. Muszę również wywołać tooltip() podczas ładowania strony początkowej. –