2011-07-19 20 views
1

jquery.datatablesのアンカー要素にjquery.qtipを使用しようとしています。動的に作成されたアンカー要素へのjavascriptのバインド

基本的にどのように動作するかは、アンカー要素では、アンカー要素にツールヒント= "ツールチップdesc"を置きます。

とJSファイルには、私は次のように置く:

$('.simpletable a[tooltip]').each(function() 

{ 

    $(this).qtip({ 

    content: $(this).attr('tooltip'), 

    style: 'dark' 

    }); 

}); 

それは普通のDataTableのために動作しますが、ソースはアヤックスであるとき、それは動作を停止します。私は、domが準備ができたらすぐにqtipがアンカー要素にバインドされているので、それを推測しています。しかし、その時、ajax domはまだ準備ができていません。したがって、ajaxソースを持つデータ型はqtipにバインドされません。

この問題を解決する方法はありますか? 私はajax呼び出しが完了した後に上記のjsスクリプトを呼び出すメソッドを見つけることを試みてきましたが、もし可能ならばどうやって見つけることができないようです。

おかげで、

フランク

答えて

2

などlive()delegate()は将来性結合オブザーバを使用します。「今、将来的には、現在のセレクタに一致するすべての要素のイベントにハンドラを接続します。 "

$('.simpletable a[tooltip]').each(function() 
{ 
    $(this).live('qtip',function({ 
    content: $(this).attr('tooltip'), 

    style: 'dark' 

    }); 
}); 

http://api.jquery.com/live/

+0

あなたがqTip2を使用している場合qTip2サイトでライブ/デリゲートを使用してのチュートリアルも用意されています: http://craigsworks.com/projects/qtip2/tutorials/events/#live – kiddailey

+0

はあなたSO MUCH AlienWebguyをありがとうございました! –

+0

喜んで助けてください! :) – AlienWebguy

3

AlienWebguyのおかげで、私はライブについて学びました。彼の答えはすぐに(多​​分別のQティップのバージョン?)動作しませんでしたので、qtip2日のために:水曜日7月20日午前11時31分55秒PDT 2011、私のために働いた次:。

$(」[タイトルをSimpleTableが] {({

overwrite: false, 
show: { 
    event: event.type, 
    ready: true 
} 

}、イベント) $(この).qtip; } '(マウスオーバー「、関数(イベント))ライブ。');

ありがとう、AlienWebguy!どのくらい私はあなたの助けに感謝しないか分かりません!

関連する問題