我已经定义了一个像这样的JQfactory插件
(function($, window, document) {
$.jqfactory('my.tooltip', {
/* My tooltip code */
}, false);
}(jQuery, window, document));
现在假设我的页面中也包含了Bootstrap框架,我只想调用我的tooltip()
版本,而不是bootstrap版本。如何使用命名空间$.my.tooltip
?
答案 0 :(得分:1)
如Bootstrap网站所述:
http://getbootstrap.com/javascript/#js-noconflict
// return $.fn.tooltip to previously assigned value
var bootstrapTooltip = $.fn.tooltip.noConflict();
// give $().bootstrapBtn the Bootstrap functionality
$.fn.bootstrapTooltip = bootstrapTooltip;
您可以使用$.bootstrapTooltip
来调用Bootstrap工具提示(如果您想使用它)。您可以将$.tooltip
用于其他内容。
jQuery noConflict并没有解决这个问题,因为它只分离了不同的jQuery版本。 tooltip
函数不是原始jQuery代码的一部分,因此使用jQuery noConflict没有意义,除非你想加载2个不同的jQuery版本并使用2个不同的jQuery对象&# 34; $"和" $$"例如。这肯定会在以后引起很多问题,因为开发人员会有意大利面条代码。
答案 1 :(得分:0)
你可以像这样使用$.widget.bridge
$.widget.bridge( "my_tooltip", $.my.tooltip );
$('#myTooltip').my_tooltip({});
或者这样做
$.my.tooltip(null, $('#myTooltip2'));
查看更多详情here