2017-11-08 9 views
5

私はjavascriptを初めて使っています。初めて私のPJAXページが読み込まれると、私のツールチップの仕事:ブートストラップ4のツールチップがjquery-pjaxの後に動作しなくなるAJAXコール

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

私は次の操作を実行しない限り、彼らがスタックになる:エンドまたはpjax:

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

私はpjaxでそれらを再初期化しようとした完全な運がない。私は長い時間ホバーすると変な見た目のヒントが得られるが、ブートストラップのヒントは得られない。

XHRの完了後にツールチップを再インストールするにはどうすればよいですか?

ブートストラップv4.0.0-beta.2 https://v4-alpha.getbootstrap.com/components/tooltips/

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

答えて

2

私のpjaxコンテナの外のスクリプトブロック#mainを使用していました。下のコードをコンテナ内に返された一番下のスクリプトブロックの一番下に移動すると、人生は良いです。キーボードショートカットを使用してAJAXナビゲーションを実行するときや、ツールヒントのチェックボックスをクリックしたときにツールヒントが停止することはありません。ツールチップは、最初にページを読み込んだときと、AJAXを使ってページに到着したときのブートストラップのツールチップです。 (私に電話が必要かどうか分かりませんが、傷ついてはいけません)

0

次の仕事をしていますか?

$(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

ありがとう!私はすべてのアンカーだけでなく、フォームにpjaxを使用することを述べるべきでした。私は 'a [data-pjax]'を省略すると、まだ固まっているツールチップが残っています。上記のpjax:startブロックはそれを防ぎます。私はまた、最初のページの読み込み時にtooltip()を呼び出す必要があります。 –

関連する問題