2015-06-21 88 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

非常感谢您的解释。了解。 –