ページの1つでjQueryUIツールチップを使用しています。
$('.sourceItem').hover(function () {
$(this).find('.tooltip').show();
$(this).find('.tooltip').position({ at: 'bottom center', of: $(this), my: 'top' });
});
$('.sourceItem').mouseleave(function () {
$('.tooltip').hide();
});
ここに私のhtmlコード:
<div id="sourceBoxInner">
<div class="sourceItem" id="9003">
<img src="/Pictures/Fruit/apple.png" alt="apple w/ skin, raw"/><br />
<a href="#" class="linkToolTip" title="apple w/ skin, raw">apple w/ skin, raw</a>
<div class="tooltip">
<div class="arrow">
▲</div>
<div class="text">apple w/ skin, raw<br /> 09003<br /> </div>
</div>
</div>
<div class="sourceItem" id="9004">
<img src="/Pictures/Fruit/apple.png" alt="apple w/out skin, raw"/><br />
<a href="#" class="linkToolTip" title="apple w/out skin, raw">apple w/out skin, raw</a>
<div class="tooltip">
<div class="arrow">
▲</div>
<div class="text">apple w/out skin, raw<br /> 09004<br /> </div>
</div>
</div>
</div>
これまでのところ、すべてが機能しています。ツールチップにカーソルを合わせると、ツールチップが表示されます。
ここで、ajax呼び出しを行って、「sourceBoxInner」divを再設定します。ツールチップが機能しなくなります。再バインドする必要があると思います。そのため、ajax OnSuccessメソッドで、次のコードを再度追加します。しかし、それでも機能しません。
function OnSuccess() {
$('.sourceItem').hover(function () {
$(this).find('.tooltip').show();
$(this).find('.tooltip').position({ at: 'bottom center', of: $(this), my: 'top' });
});
$('.sourceItem').mouseleave(function () {
$('.tooltip').hide();
});
}
更新:
私も次のコードを試しましたが、まだ機能していません。
function OnSuccess() {
$(".sourceItem").unbind("hover").hover(function () {
$(this).find('.tooltip').show();
$(this).find('.tooltip').position({ at: 'bottom center', of: $(this), my: 'top' });
});
}