我正在使用Yii框架。在几页上我想用jQuery添加一些自定义UI的东西。我希望结果如下:
$(document).ready(function() {
... my code
});
我找到了使用这样的建议:
Yii::app()->clientScript->registerScript('testscript',"
alert('hello world');
",CClientScript::POS_READY);
但是,我有一个相当大的javascript代码(大约100行),当它在PHP字符串中时很难读它(在编辑器中没有语法高亮,没有代码折叠)。
必须有更好的方法吗?
我不介意将代码放在单独的.js文件中,但我不知道如何将其加载到document.ready处理程序中?
答案 0 :(得分:5)
将代码隔离到JS文件中的类/函数中,使用registerScriptFile注册,然后使用registerScript调用该类/方法(然后将其添加到CClientScript使用的ready-method中。
答案 1 :(得分:2)
好吧,我从未使用过yii,但在Google上搜索我发现你可以在yii中添加javascript。
我是.net家伙,但这个链接可能会帮助你。 http://www.yiiframework.com/forum/index.php?/topic/4778-what-is-the-best-form-to-load-jquery/
我只是猜测,但它可能看起来像这样......
Yii::app()->clientScript->registerScriptFile('/myScript.js');
在myScript.js中你会写...
$(document).ready(function() {
alert('hi');
//js code goes here
});
现在我只是在猜测,但你可能不得不在此之前加入jquery插件。所以,它可能就像......
(PHP)
<?php Yii::app()->clientScript->registerCoreScript('jquery'); ?>
<?php Yii::app()->clientScript->registerScriptFile('/myScript.js'); ?>
(JQuery的)
$(document).ready(function() {
alert('hi'); //script goes here
});