我定义了一个像这样的 JQfactory 插件
(function($, window, document) {
$.jqfactory('my.tooltip', {
/* My tooltip code */
}, false);
}(jQuery, window, document));
现在假设我在页面中也包含了 Bootstrap 框架,并且我只想调用我的 tooltip()
版本,而不是 bootstrap 版本。如何使用命名空间 $.my.tooltip
实现?
最佳答案
正如 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 对象“$”例如“$$”。这肯定会在以后引起很多问题,因为开发人员将拥有意大利面条式代码。
关于jquery - 使用命名空间调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26071602/