awake720
- awake720 赞了回答
YII 默认是引入JQ的,因为 yii.js 是依赖于JQ的。你可以在AppAsset中发现如上依赖。
然而你发现你写的JS代码在引入 JQ 的script 的上面。这将导致你书写的JQ代码无效甚至报错。
这很有趣,但是当你发现了原因尝试了许久却发现他们就差几行的距离却死活调换不了位置时。你会很蛋疼。而解决的方式是你可以把JS代码放入到视图中的 $this->registerJS()中,这将确保JS代码是处于JS库的下方。这看起来像是酱紫的:
$this->registerJs('alert(1)');
当然,你的JS代码或许不会如此简单。而确保多行JS代码的可读性。你可以先放到 视图 的 代码块 中,如下所示:
<?php $this->beginBlock('suibian') ?> alert(1) <?php $this->endBlock() ?> <?php $this->registerJs($this->blocks['suibian']); ?>