1、在页面中单独写JS(使用数据块)
<div id="mybutton">点我弹出OK</div>
<?php $this->beginBlock('test') ?>
$(function($) {
$('#mybutton').click(function() {
alert('OK');
});
});
//或
$('#mybutton').click(function() {
alert('OK');
});
<?php $this->endBlock() ?>
<?php $this->registerJs($this->blocks['test'], \yii\web\View::POS_END); ?>
2、在对应的/assets/AppAsset.php文件中新增以下函数
/**
* 定义按需加载JS方法,默认加载在最后
* @param $view
* @param $jsfile
* @param string $type
*/
public static function addScript($view, $jsfile,$type=View::POS_END) {
$position = [
AppAsset::className(),
'depends' => 'layui\assets\AppAsset',
];
if ($type == View::POS_HEAD){
$position['position'] = View::POS_HEAD;
}
$view->registerJsFile($jsfile,$position);
}
//定义按需加载css方法,注意加载顺序在最后
public static function addCss($view, $cssfile) {
$view->registerCssFile($cssfile, [AppAsset::className(), 'depends' => 'layui\assets\AppAsset']);
}
//在视图文件引用:
use \**\assets\AppAsset;
AppAsset::addScript($this, '@web/modules/table/renderjs.js?t=' . time());