-1

私はこのコードを持っています

$(".tooltip").each(function(){
        var tooltip = this.title;
        this.title = "";
        $(this).live("mousemove",function(e){
             $("#tooltip").html(tooltip).show();
        }).live("mouseout",function(){
            $("#tooltip").hide().empty();
        });
    });

それはうまく機能しますが、ajaxによって動的にロードされる要素ではどうでしょうか?ありがとう

4

3 に答える 3

1

.each()に含める必要がありますか?これは機能しますか:

$(document).on({
    mouseover: function() {
        $('#tooltip').html(tooltip).show();
    },
    mouseout: function() {
        $('#tooltip').hide();
    }
}, '.tooltip');

jsFiddleの例を追加しました

于 2013-01-02T13:04:47.647 に答える
0

document.ready関数を使用できます。これにより、すべての要素がロードされた後に関数が実行されます。すなわち。

$(document).ready(function() {
   $(".tooltip").each(function(){
        var tooltip = this.title;
        this.title = "";
        $(this).live("mousemove",function(e){
             $("#tooltip").html(tooltip).show();
        }).live("mouseout",function(){
            $("#tooltip").hide().empty();
        });
    });
 });
于 2013-01-02T13:01:32.417 に答える
0

後で追加される要素にイベントが確実に送信されるようにするには、onを使用する必要があります。

$(document).on('mousemove', ".tooltip", function(e){
     this.title = "";
     $("#tooltip").html(this.tooltip).show();
}).on('mouseout', ".tooltip", function(e){
     this.title = "";
     $("#tooltip").html(this.tooltip).hide();
});

.tooltipこれはすべての要素に適用されます。あなたの必要はありませんeach

于 2013-01-02T13:05:00.687 に答える