全て!要素に接続されている道場のツールチップがあります。
ページがロードされたとき/ロードされた後/準備ができたときに作成されます。しかし、問題は、接続された要素が初めてホバーされたときに、コンテンツが動的にロードされることです。
コンテンツは AJAX 経由で読み込まれます。そして - HTML コンテンツのサイズが不明である限り (ウィジェットは作成されますが、コンテンツはまだ空です) - ホバリングおよびコンテンツの読み込み後 - ツールチップが表示されますが、ARROW は接続された要素を指していませんが、下にシフトされています。
コンテンツが動的にロードされた後にウィジェットの矢印を再配置する方法は?
事前にサンクス!
アップデート
私が見つけたいくつかの調査の後、ツールチップの矢印の位置はによって調整されます
.tundra .dijitTooltipRight .dijitTooltipConnectorクラスの高さ (デフォルトで14px )
だから私は今のところ素早く汚い修正をしました:
function fixArrowForTooltip() {
// FIX ARROW (TODO HACK)
$(".tundra .dijitTooltipRight .dijitTooltipConnector").css("height",
"14px"); // restore to default for multiple tooltips in the page
var newHeight = $("#dijit__MasterTooltip_0").height() - 14;
$(".tundra .dijitTooltipRight .dijitTooltipConnector").css("height",
newHeight + "px");
// end of FIX
};
そして、これを onShow() に配置しました...
私は知っています、これは再加工する必要がありますが.. WORKS PERFECT :)))
ページ内の任意の数のツールチップについて、矢印は接続された要素を直接指しています:)