jQuery(…).activeform is not a function in 终极解决方案 [ 2.0 版本 ]
首先 找到
vendor\yiisoft\yii2\web\JJqueryAsset.php文件
<?php
namespace yii\web;
class JqueryAsset extends AssetBundle
{
public $sourcePath = '@bower/jquery/dist';
/* public $js = [
'jquery.js',
];*/
}
把这段注释掉,其实不注释也不要紧啦~只不过页面上会多加载一次jquery.js,
最重要的来了
在同级目录下 也就是 vendor\yiisoft\yii2\web\YiiAsset.php
class YiiAsset extends AssetBundle
{
public $sourcePath = '@yii/assets';
public $js = [
'yii.js',
];
public $depends = [
** 'yii\web\JqueryAsset',**
];
}
我们可以看到这有个依赖~大家看到了吗?这个依赖的就是我们刚刚上面的JqueryAsset的命名空间~现在只要把这个命名空间改掉就好了,只要改这一个地方就好了,因为yii.activeForm.js应该是依赖的yii.js的命名空间 ~ 虽然我全局也没搜到yii.activeForm.js在哪里出现过,反正不要管他就行了
我这边是这样做的
我把
public $depends = [
'app\assets\AppAsset',
];
改成这样了。。文件在 web同级目录下的 assets/AppAsset.php中
<?php
namespace app\assets;
use yii\web\AssetBundle;
class AppAsset extends AssetBundle
{
public $basePath = '@webroot';
public $baseUrl = '@web';
public $css = [
'css/bootstrap.min.css',
'css/iconfont.css',
'css/bootsnav.css',
'css/style.css',
];
public $js = [
'js/vendor/jquery-1.11.2.min.js',
'js/vendor/bootstrap.min.js',
'js/comm.js?v1',
];
public static function addScript($view, $jsfile)
{
$view->registerJsFile($jsfile, [AppAsset::className(), 'depends' => 'app\assets\AppAsset']);
}
//定义按需加载css方法,注意加载顺序在最后
public static function addCss($view, $cssfile)
{
$view->registerCssFile($cssfile, [AppAsset::className(), 'depends' => 'app\assets\AppAsset']);
}
}
?>
我的appasset.php就是这样的了~现在打开页面就不会再看见讨厌的jQuery(…).activeform is not a function 了
wj86611199
注册时间:2017-03-19
最后登录:2018-04-01
在线时长:0小时30分
最后登录:2018-04-01
在线时长:0小时30分
- 粉丝0
- 金钱15
- 威望10
- 积分115
共 1 条评论
可以在配置文件当中改啊,在vendor中改以后更新vendor了就更改就没了
哈哈~配置不知道怎么改~~