2

我在我的 functions.php 文件中使用以下代码在 wordpress 中包含了一个名为 JQplot 的图形和绘图 Jquery 库:

function rw_jqplot() {
    // JS
    wp_deregister_script('jqplot');
    wp_enqueue_script('jqplot', plugins_url('/js/jquery.jqplot.min.js', __FILE__), array("jquery"), '1.0.0.1012');
    // CSS
    wp_deregister_style('jqplot');
    wp_enqueue_style('jqplot', plugins_url('/css/jquery.jqplot.min.css', __FILE__), false, '1.0.0.1012');

} add_action('init', 'rw_jqplot'); ?>

问题是我收到一条错误消息(在萤火虫中):$ 未定义。

我做了一些研究,我认为它必须与 jquery 在无冲突模式下运行有关。所以也许解决这个问题的方法是以某种方式将上述代码包含在 wordpress 无冲突模式中?那有可能吗?

谢谢!

4

1 回答 1

3

查看 JQPlot 代码,整个插件在闭包中声明:

(function($) { 
  // JQPlot code
})(jQuery);

所以插件很好($ = jQuery在插件范围内)。但是,效果声明不是:

var backCompat = $.uiBackCompat !== false;
// And then, JQPlot effects declaration

这是一个问题,您应该向开发团队报告。为了快速修复,您可以在(function($) {10577 行和.})(jQuery);jquery.jqplot.js

编辑

最新的稳定版本(0.9.7r635)似乎没有这个问题。也许试一试

于 2012-05-19T23:51:06.933 回答