【问题标题】:Kohana 3 JavaScript issueKohana 3 JavaScript 问题
【发布时间】:2011-03-04 23:13:42
【问题描述】:

我们有一个简单的 JQuery 日期选择器,我们试图将它包含在页面中。该功能适用​​于海峡 html 网站,但是,当我们通过 Kohana 包含工作功能时,该功能不起作用。我们尝试通过将所有 JavaScript 引用加载到模板中的数组中并使用

打印它们来将其作为文件包含在内
<?php foreach($scripts as $file) { echo HTML::script($file, NULL, TRUE), "\n"; }?>

除了简单地将脚本放在单独的视图中并使用 view::factory 来包含文件。当我们执行后者时,浏览器无法识别&lt;/script&gt; 标签,或者至少它的语法突出显示没有识别它,尽管这不会影响其他脚本,例如谷歌地图。不管它值多少钱,这里是函数:

jQuery(function(){
    jQuery(".datepick").datepicker();
});

它作用的元素是:

<input class="datepick" id="to" type="text" />

有人对我们有什么建议吗?我们非常渴望让这个简单的小功能发挥作用。

【问题讨论】:

  • 您发布的内容中有一个错字 - 您的代码引用了“datepicker”类,但 &lt;input&gt; 元素只是说“datepick”。这只是一个转录问题吗?
  • 啊,确实,它并不能解决问题,但是,这只是我写这篇文章时的一个错字。
  • 好吧,在你得到 5 个答案告诉你这件事之前把它弄清楚是件好事 :-)
  • 嘿,大卫,您是否尝试过比较直接 html 和 kohana 打印输出的标记?也可能值得使用诸如 firebug 之类的东西检查资源是否正确加载。
  • 确实,我们完成了上述所有 Rob。问题实际上是对如何添加 JQuery 库的疏忽。我们不知道 Kohana 以相反的顺序打印它们......并且 JQuery UI 库被添加到 JQuery 核心之前。

标签: javascript jquery jquery-ui kohana kohana-3


【解决方案1】:

您可能不需要HTML::script() 调用中的最后一个TRUE,因为这会将index.php 添加到您的脚本URL,这意味着您正在使用PHP 来提供实际的脚本文件。

在这种情况下,我认为你的电话应该是:

<?php foreach ($scripts as $file) { echo HTML::script($file), "\n"; } ?>

【讨论】:

  • 在这种情况下我们应该将其设置为 false 还是直接关闭?
  • 默认为 FALSE,由你选择。
  • 谢谢,在这之后页面加载时间实际上缩短了一点......这有点奇怪,因为它实际上并没有解析和编译任何 php,但我们会接受它。
【解决方案2】:

我认为这与 Kohana 无关,而是与您的 HTML 代码有关。

你如何包含你的脚本(在你的 javascript 代码之前包含 jQuery)?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多