WordPress 与 OOP jQuery Slider 插件冲突
Posted
技术标签:
【中文标题】WordPress 与 OOP jQuery Slider 插件冲突【英文标题】:WordPress conflict with OOP jQuery Slider Plugin 【发布时间】:2014-03-01 16:31:21 【问题描述】:我制作了一个滑块插件,我正在尝试将其移植到 WordPress。但是,当“$”选择器出现时,代码不会运行。
这是我的插件的基本结构,因此您将了解我构建此插件的 OOP 基础。我已经尝试过警报以查看错误在哪里。它似乎就在第一个 $ 符号出现之后。
function slider(target, options)
/* Settings
=============================== */
var settings = $.extend(
animation: "myanimation"
, options);
alert('qq');
/* Variables
=============================== */
var self = this;
/* Initialization
=============================== */
self.init = function()
并运行插件:
jQuery(function($)
var myslider = new slider();
myslider.init();
)
你能帮我解决一下吗?非常感谢!
【问题讨论】:
【参考方案1】:许多 javascript 库使用 $ 作为函数或变量名,就像 jQuery 一样。在 jQuery 的例子中,$ 只是 jQuery 的别名,所以所有功能都可以在不使用 $ 的情况下使用。如果您需要在 jQuery 旁边使用另一个 JavaScript 库,请通过调用 $.noConflict() 将 $ 的控制权返回给另一个库。
jQuery.noConflict
【讨论】:
尽管我真的不明白为什么它不能与 IIFE 一起工作,但 noConflict 成功了。谢谢!【参考方案2】:尝试使用IIFE,并将jQuery
作为参数传递:
(function($)
function slider(target, options)
/* Settings */
var settings = $.extend(
animation: "myanimation"
, options);
alert('qq');
/* Variables */
var self = this;
/* Initialization */
self.init = function()
)(jQuery);
【讨论】:
不幸的是,通过使用它,当我创建滑块的实例时,我在控制台中收到“对象不是函数”错误。不过,谢谢你的提示,读得很好。 阅读本指南以使用 IIFE 实现您的功能:developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Closures以上是关于WordPress 与 OOP jQuery Slider 插件冲突的主要内容,如果未能解决你的问题,请参考以下文章