注: この質問は 1 回解決済みとしてマークされましたが、最新の jQuery へのアップグレードで 1 つの問題のみが修正されたことがわかりました。残りの問題については、以下の更新された質問を参照してください。
こんにちは、みんな、
jQuery.Tipsy で奇妙な問題が発生しました。
これは単純化されたデモ フィドルです: http://jsfiddle.net/6nWtx/7/
ご覧のとおり、最後に追加されたa.tipsy2
要素はほろ酔いになりません。要素は関数.tipsy2
内でほろ酔いでjQuery.each()
あり、この時点で問題があります。なくてeach()
も動作します。残念ながら、.each()
を呼び出す前に、要素を繰り返し処理して他の処理を行う必要がありますtipsy()
。
なにか提案を?
Tipsyのソース コードは次のとおりです。
jQuery.each()
IMHO問題は、とTipsyオプションの組み合わせを使用していますlive:true
アップデート:
電話をかける前にやりたいことは.tipsy()
、オプションの構成をチェックすることです。
例えば:<a href="#" title="This is a tooltip" class="tipsyfy delayed">Help</a>"
この例では、次のオプションを Tipsy に追加します。要素に関連付けられたクラスdelayIn:1000
がない場合、このパラメーターは になります。delayed
delayIn:0
同じロジックを使用して、次のクラスも指定したいと思いshow-top, show-left, show-right, show-bottom
ますgravity
。
例:<a href="#" title="This is a tooltip" class="tipsyfy delayed show-left">Help</a>"
完全なコード:
$(".tipsyfy").each(function () {
var a = "s",
b = 0;
if ($(this).hasClass("show-left")) a = "w";
else if ($(this).hasClass("show-down")) a = "n";
else if ($(this).hasClass("show-right")) a = "e";
if ($(this).hasClass("delayed") && $(this).attr("data-delayIn") != null) b = $(this).attr("data-delayIn");
$(this).tipsy({
gravity: a,
fade: true,
live: true,
delayIn: b
})
})
そして、ここに私がやりたいことすべてを含む完全なjsFiddleデモがあります: http://jsfiddle.net/xmLBG/1/