注意:此問題被標記爲解決一次,但它發現只升級到最新的jQuery只有一個問題。有關剩餘問題,請參閱下面的更新問題。jQuery Tipsy將無法使用jQuery.each()和live:true
大家好,
我剛纔碰到與jQuery.Tipsy一個奇怪的問題。
這裏有一個簡單的演示小提琴:http://jsfiddle.net/6nWtx/7/
正如你所看到的,最後加入a.tipsy2
元素沒有得到tipsyfied。在函數中,.tipsy2
元素正在滿足要求,此時我遇到了問題。沒有each()
它的作品。不幸的是,在我呼叫tipsy()
之前,我需要.each()
來遍歷元素來做其他一些事情。
有什麼建議嗎?
這裏有醉意的源代碼:https://github.com/jaz303/tipsy/blob/master/src/javascripts/jquery.tipsy.js
恕我直言,這個問題是使用jQuery.each()
組合和醉意選項live:true
更新:
其他的東西我想打電話之前做.tipsy()
正在檢查某些可選配置。
例如:<a href="#" title="This is a tooltip" class="tipsyfy delayed">Help</a>"
在這個例子中,我將下列選項添加到醉意:delayIn:1000
如果有相關的元素沒有delayed
類這個參數會delayIn:0
。
使用相同的邏輯,我想要指定以下類:show-top, show-left, show-right, show-bottom
爲Tipsy選項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/
,我想你需要遍歷這些元素 – 2012-03-02 09:35:11
是的,我想要做一些其他的東西與每個元素。 – papaiatis 2012-03-02 09:41:13