2011-10-11 90 views
1

每當我試圖定義2個腳本是這樣的:如何在CakePHP中定義腳本?

echo $this->Html->script(array('jquery', 'prototype')); 

prototype工作。

當我做這種方式:

echo $this->Html->script(array('prototype', 'jquery')); 

jquery工作。

我該如何解決這個問題,這兩個工作?

+0

現在的問題是:你爲什麼要同時包含jQuery和Prototype?建議'.noConflict()'的答案是正確的,但如果您希望代碼對兩個庫都使用'$()',則仍然會遇到問題。 – Spudley

+0

@Spudley我需要原型來完成我的蛋糕應用程序中的自動完成功能,並且我需要jquery來操作DOM :( –

+0

Prototype也能夠操縱DOM,並且jQuery有自動完成插件。 – Spudley

回答

5

那是因爲他們使用$變量,第二個腳本覆蓋第一個。

嘗試僅包含中間創建一個腳本:

$j = $.noConflict(); //sets `$j` as the jQuery variable 

然後做:

echo $this->Html->script(array('jquery', 'middleScript', 'prototype')); 
2

添加<script type="text/javascript">jQuery.noConflict();</script>的jQuery後,立即和然後添加原型。