jQueryUI ツールチップで ajax 呼び出しを使用すると、複数のインスタンスを選択するとツールチップが閉じないという問題が発生しました。
ここで実証しましたhttp://jsfiddle.net/MHptk/11/
var html = '';
var testbox = $("#testid"); //div element
for (var i=0; i<25; i++) {
html += '<a href="#" title="test!">test!</a><br />';
}
testbox.html(html);
testbox.tooltip(
{tooltipClass:'preview-tip',
content: function(callback) {
$.ajax({url: '/echo/html/',
data: {
html: 'woop!',
},
method: 'post',
success: function(data) {
callback(data);
},
});
},
});
リンクの上でマウスをすばやく移動すると、ツールチップが閉じないことがわかります。私の実際の例では、それ自体が ajax 要求を行う複数のリンクを含む jquery ajax 呼び出しでテーブルを作成しています。open: を使用してコンテンツを設定しようとしましたが、同じ問題が発生しました。
回避策として、テーブルを作成するときにタイトル属性を直接入力するだけでよいと思いますが、データの揮発性が非常に高いため、これは適切ではありません。