5

如何在 yii 中使用 jquery/javascript?,

如何在 yii 中使用我的脚本?

为什么这与以任何其他方式使用 jQuery 有什么不同?

4

3 回答 3

11

使用 Yii 的 registerScript 加载我们的 jQuery,如果正常使用它看起来像这样:

$(document).ready(function(){
    alert('hello');
    // Enter code here
});

现在如果我们像这样使用Yii 的脚本

<?php
    Yii::app()->clientScript->registerScript('helloscript',"
        alert('hello');
    ",CClientScript::POS_READY);
?>

你会看到你需要向 Yii::app()->clientScript->registerScript 函数传递 3 个东西,首先是一个脚本名称,这并不重要;它必须与同一页面上的任何其他脚本名称唯一。关联

于 2012-10-09T08:37:55.590 回答
11

如何在 yii 中使用 jquery?

如上所述,您可以注册一个新的脚本块,也可以注册一个新的外部脚本文件。您还可以在插件中注册资产,这些资产将获取整个 JS 文件夹并将它们组合到您的应用程序中。

所以在 Yii 中有很多使用 JQuery 的方法。

如何在 yii 中使用我的 jquery

JQuery 与 JQuery 预先捆绑并激活,JQuery 库本身被认为是核心脚本,因此没有真正需要放入您自己的 JQuery。

您可以通过放置以下内容用自己的 JQuery 覆盖内置的 JQuery:

$cs = Yii::app()->clientScript;
$cs->scriptMap = array(
'jquery.js' => Yii::app()->request->baseUrl.'/js/jquery.js',
'jquery.yii.js' => Yii::app()->request->baseUrl.'/js/jquery.min.js',
);
$cs->registerCoreScript('jquery');
$cs->registerCoreScript('jquery.ui');

在您的布局、操作或视图中的某处类似的东西。我更喜欢将它放在布局中并亲自管理我自己的 JQuery 版本。

为什么这与以任何其他方式使用 jQuery 有什么不同?

主要是由于框架及其组件的标准化和互操作性。预先捆绑了 JQuery UI 小部件和 JQuery 元素的内置钩子,这使得框架更容易构建可重用和干净的 JS 对象以在您的应用程序中使用。

我也喜欢 JQuery,所以在我看来,预先捆绑它是有意义的。然而,这并不是要求 JQuery 成为唯一的 JS 库/框架,您应该在选择之前真正考虑哪个最适合您。

于 2012-10-09T10:02:10.160 回答
0

这是我刚刚在我的应用程序开发中使用的示例脚本:

<?php
$js = "
$('body')
  .on('click', '#cancelCreateInductionTemplate, #closeDialogBox', function (e) {
    // Close #openDialog
    e.preventDefault();
    $('#openDialog').dialog('close');
  });
";
Yii::app()->clientScript->registerScript('cancelCreateInductionTemplate', $js, CClientScript::POS_READY);
?>
于 2012-10-09T10:30:17.060 回答