2016-08-01 09:18:23 3488次浏览 4条回答 0 悬赏 10 金钱

请问,yii2对JS事件是否有相应的书写方法,还是一定要独立写JS代码?

比如,我点击某个DIV,另一个DIV 就显示

最佳答案

  • 飘逸 发布于 2016-08-01 10:45 举报

    YII只是个PHP的框架。并没有对JS进行封装。也完全没有必要封装JS,毕竟有Jquery的存在。

    所以你在引入Jquery之后完全可以依照JQ的写法去书写JS

    当然,你可以控制JS存在于源代码的位置,比如head,body等位置。甚至,你可以把它控制在YII JQ的$(function(){})中。

    PS:你可以在浏览器右键查看源代码以查看其JS最终位置。

    代码看起来就像是酱紫的, 其中\yii\web\View::POS_READY代表着本块JS代码的位置存在于$(function(){})中。

    <?php $this->beginBlock('yourBlockID') ?>
    
    //一些JS代码。可以原生,可以JQ。
    
    <?php $this->endBlock() ?>  
    <?php $this->registerJs($this->blocks['yourBlockID'], \yii\web\View::POS_READY); ?>
    

    你可以在权威指南的 显示数据->操作客户端脚本 以及 应用结构->视图->使用数据块 中得到详细的描述。

    4 条回复
    回复于 2016-08-01 13:15 回复

    飘逸,你QQ多少?加好友

    回复于 2016-08-01 15:02 回复

    我在VIP一群啊。→,→

    回复于 2016-08-02 16:45 回复

    来2群混

    回复于 2016-08-02 16:55 回复

    感觉老二没有老一吊。不想去。→,→

    觉得很赞
  • 回答于 2016-08-01 09:24 举报

    没有做限制,可以自己随意写。
    只有特定组件,如GridView,等内置的widgets,才有对应的js,但是也是封装成插件。

  • 回答于 2016-08-01 10:24 举报

    没有限制,

    $this->registerJs('
    $(function () {
    //js代码
    });
    ', \yii\web\View::POS_END);
    
  • 回答于 2016-08-03 11:05 举报

    Yii2集成了bootstrap,像你说的这个显隐功能,不用写JS代码就能实现,Yii2不仅封装了自己的组件,它引用的bootstrap的也带了很多前台js功能

    1 条回复
    回复于 2016-08-04 14:22 回复

    我就是不懂得这些功能如何调用呀,能指点一二吗?谢谢。

您需要登录后才可以回答。登录 | 立即注册
okokad
经理

okokad

注册时间:2016-02-29
最后登录:2017-07-01
在线时长:49小时26分
  • 粉丝12
  • 金钱25
  • 威望80
  • 积分1315

热门问题