この jQuery スニペットを使用して、HTML テーブル内のいくつかの JSF プライムフェイス要素にツールチップを作成しています。
$(document).ready(function() {
$('.ui-icon-pencil, .ui-icon-check, .ui-icon-close, .ui-icon-trash').hover(function(e) { // this is the hover in function
// Since the elements have multiple classes, this function gets the one that starts with ui-icon-<something>
var icon = $(this).attr('class').match(/ui-icon-(?:pencil|check|close|trash)/)[0];
var title = null;
if(icon == 'ui-icon-pencil') {
title = 'Edit';
} else if(icon == 'ui-icon-check') {
title = 'Save';
} else if(icon == 'ui-icon-close') {
title = 'Cancel';
} else if(icon == 'ui-icon-trash') {
title = 'Delete';
}
$('body').append('<p class="tooltip">'+title+'</p>');
$('.tooltip').css('top', (e.pageY-50) + 'px').css('left', (e.pageX-10) + 'px').fadeIn('fast');
}, function() { // this is the hover out function
$('.tooltip').remove();
});
// this handles the tooltip moving when the mouse moves
$('.ui-icon-pencil').mousemove(function(e) {
$('.tooltip').css('top', (e.pageY-50) + 'px').css('left', (e.pageX-10) + 'px');
});
});
これはうまく機能しますが、jsf ajax マジックを使用してテーブル内の行を変更/追加/削除すると、ツールチップが機能しなくなります。
テーブル内の行を変更/追加/削除した後、ツールチップを機能させ続けるにはどうすればよいですか?
ツールチップを機能させ続けるためにjqueryのライブ機能を使用する必要があると思いますが、この状況でそれらをどのように使用するかわかりません。