2015-06-21 44 views
2

我正在爲我的項目使用Jquery UI工具提示,並希望以特定方式定位整個文檔的工具提示,除了具有類的分區。多個jQuery UI的工具提示定位

$(document).not(".t_l_overview").tooltip({ 
     position: { 
     my: "center top", 
     at: "center bottom+5" 
     }, 
     show: { 
     duration: "fast" 
     }, 
     hide: { 
     effect: "hide" 
     } 
}); 

$(".t_l_overview").tooltip({ 
     position: { 
     my: "left+15 center", 
     at: "right center" 
     }, 
     show: { 
     duration: "fast" 
     }, 
     hide: { 
     effect: "hide" 
     } 
}); 

問題是,如果我一次使用其中任何一個,它正在工作,但兩者都不能一起工作。如果我在代碼中使用了這兩個,則tooltip只會應用於類t_l_overview的分區。任何想法,我可能會做錯什麼和解決它的任何想法?

回答

1

問題出在您的not選擇器上。 $(document).not(".t_l_overview")是空數組,所以你實際上沒有設置「默認」。

如果你想選擇一個沒有階級t_l_overview所有DOM元素,你可以使用語法:

$("*").not(".t_l_overview").tooltip({ ... }); 

$("html").not(".t_l_overview").tooltip({ ... }); 

$("body").not(".t_l_overview").tooltip({ ... }); 

的最後一個可能是你想要的,因爲我猜你不關心設置工具提示o <head><script>元素。

您還可以設置默認工具提示和覆蓋它的設置,像這樣一個特定的元素:

$(document).tooltip({ ... }); // default 
$(".t_l_overview").tooltip({ ... }); // override for .t_l_overview 

tooltip()後續調用將覆蓋任何已設置的那些元素。

+0

非常感謝。有用。但是我可否知道爲什麼$(文檔)不起作用? –

+1

'document'返回一個文檔對象,而不是構成'document'的一組DOM元素。從[文檔](https://developer.mozilla.org/en-US/docs/Web/API/document):「文檔界面...提供對文檔全局的功能。」相比之下,「Document.documentElement' ...返回作爲文檔根元素的元素(例如,HTML文檔的''元素)。」所以如果你願意,你也可以使用'$(document.documentElement).not(「。t_l_overview」)'。有點微妙的區別。 – rphv

+0

非常感謝您的解釋。瞭解。 –