2017-11-11 19 views
0

divに新しい要素を読み込んだ後にツールチップを表示する際に問題があります。新しいHTMLコンテンツを読み込んだ後にツールチップが機能しない

マイコンテンツの読み込みコード:

$ (Function() { 
     
     $ ('. Prop-next'). Click (function() { 
         $ ('.props') .html ('<img src = "/ images/loading.gif" class = "loading" />') 
         var p = parseInt ($ (this) .attr ('p')) + 3; 
         $ (this) .attr ('p', p); 
         $ .post ('/ lib/props.php', {p: p}, function (item) { 
             $ ('. Props'). Html (item); 
         }); 
     }); 
}); 

スクリプトが動作しませんしながら、divの中.prop、次のクリックの要素は、新しいコンテンツが表示されます.props呼び出し:

ツールチップコード:

var tooltips = document.querySelectorAll ('.tooltip'); 

window.onmousemove = function (e) { 
     var x = (e.clientX - 350) + 'px', 
         y = (e.clientY + 50) + 'px'; 
     for (var i = 0; i <tooltips.length; i ++) { 
         tooltips [i] .style.top = y; 
         tooltips [i] .style.left = x; 
     } 
}; 
+0

クエリセレクタとURLに複数の空白( '')があり、このスクリプトを実行できないようにしています – 3Dos

+0

スペースwコードがエディタに入力されたときに作成されます。コードに空白がないことを私は保証します – urbmake

答えて

0

マウスの動きをバインドするコードは、ページロード時に1回だけ実行され、その結果、新しいアイテム(AJAX経由でワイヤに降りてくるもの)がh ...追加bingingことAVINGの代わり:

window.onmousemove = function (e) { // .. } 

このような何かが動作するはず,, dinamicly追加、またはライブフックので、試してみてください。この行の

$('body').on('mousemove', '.tooltip', function(e) { 
    var x = (e.clientX - 350) + 'px', 
    y = (e.clientY + 50) + 'px'; 
    for (var i = 0; i < tooltips.length; i++) { 
    tooltips[i].style.top = y; 
    tooltips[i].style.left = x; 
    } 
}); 

$('body').on('mousemove', '.tooltip', ..あなたがそのあなたの親要素を定義します

+0

あなたが提供したコードは動作しません。ペーストされたコード:var tooltips = document.querySelectorAll( '。tooltip'); $ {'body'} on( 'mousemove'、 '.tooltip'、function(e){ var x =(e.clientX-350)+ 'px'; var y =(e.clientY + (var i = 0; i urbmake

+0

私のコードが新しいアイテムのためにexecを取得するかどうかを確認するために何かを警告しようとしました –

+0

ブラウザからキャッシュを削除し、コードが機能します。ありがとうございました:) – urbmake

関連する問題