【问题标题】:Cannot call methods on tooltip prior to initialization; attempted to call method 'destroy' : Yii2 bundle with lobipanel无法在初始化之前调用工具提示上的方法;试图调用方法“销毁”:Yii2 与 lobipanel 捆绑
【发布时间】:2017-09-26 06:49:13
【问题描述】:

我对 jquery 上的这个插件很感兴趣:lobipanel

我很困惑将它用作 Yii2 中所有页面的捆绑包。 据说用这个:

$(function(){
    $('.panel').lobiPanel({
        //Options go here
        ...
    });
});

使用这个的最佳实践是什么?

请指教。

更新

use yii\web\AssetBundle;

/**
   * @author Qiang Xue <qiang.xue@gmail.com>
   * @since 2.0
*/
class AppAsset extends AssetBundle
{

public $basePath = '@webroot';
public $baseUrl = '@web';
public $sourcePath = '@bower';
public $css = [
    'css/site.css',
    'plugins/lobipanel-dist/dist/css/lobipanel.css'
];
public $js = [
    'js/moment.js',
    'plugins/lobipanel-dist/dist/js/lobipanel.js',
    'js/main.js',
];
public $depends = [

    'yii\web\YiiAsset',
    'yii\bootstrap\BootstrapAsset',
    'yii\bootstrap\BootstrapPluginAsset',
    'yii\jui\JuiAsset',
];

}

得到错误:未捕获的错误:无法在初始化之前调用工具提示上的方法;试图调用方法'destroy'

【问题讨论】:

  • 似乎只有javascript所以你应该添加一个适当的资产
  • 奇怪的是,我已经包含了它们,并且加载成功,但是面板没有改变。请看更新

标签: jquery yii2


【解决方案1】:

尝试改变顺序

public $js = [
   'js/moment.js',
   'plugins/lobipanel-dist/dist/js/lobipanel.js',
   'js/main.js',
];

到:

 public $js = [
   'js/main.js',
   'js/moment.js',
   'plugins/lobipanel-dist/dist/js/lobipanel.js',
];

来自这里的参考:[1]'cannot call methods on tooltip prior to initialization' error when I add the jquery-ui library

【讨论】:

  • 不行,因为 main.js 中的 lobi 面板是 decalare init 到 lobipanel
【解决方案2】:

Jui 和 lobipanel 工具提示之间存在冲突。你用过http://api.jquery.com/jQuery.noConflict/

【讨论】:

    猜你喜欢
    • 2013-11-27
    • 1970-01-01
    • 2014-02-28
    • 2023-03-04
    • 1970-01-01
    • 2020-02-03
    • 1970-01-01
    • 1970-01-01
    • 2020-12-17
    相关资源
    最近更新 更多