これはあなたが探している応答ではありませんが、ツールチップを要素に直接添付することはしません。代わりに、マウスオーバー時にツールチップを表示したいものにクラスを使用.on()
し、次の方法でイベント ハンドラーを使用します。
$('body').on('mouseover','.tooltip',function() {
// show tooltip
console.log($(this).data('tooltip'));
return false;
}).on('mouseout','.tooltip',function() {
// hide tooltip
return false;
});
そのため、本体に (必ずしも直接の子としてではなく) 追加するものはすべて、このイベント ハンドラーをトリガーします。
おそらく、クラスとともに各要素にツールチップ データを割り当てる追加の関数を作成するだけです。
$.fn.extend({
tooltip:function(text) {
text = text || '';
return $(this).each(function() {
$(this).data('tooltip',text).addClass('tooltip');
});
}
});
$('#someID').tooltip("Click me!");
$('button').tooltip("I'm a button");