2012-02-19 15 views
0

我有兩個js文件。一個使用prototype語法和jQuery。不知何故,他們不一起工作。我可以嘗試使用filename.functionname來調用文件內部的函數。使用js文件名調用javascript函數

請告訴我這樣做的語法,還是有其他方法可以讓protoypejQuery一起運行,因爲它們的某些語法衝突。

回答

3

您無法通過文件名稱調用函數。

使用jQuery noCoflicts

短距離文檔例如:

<script type="text/javascript" src="other_lib.js"></script> 
<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript"> 
    $.noConflict(); 
    jQuery(document).ready(function($) { 
    // Code that uses jQuery's $ can follow here. 
    }); 
    // Code that uses other library's $ can follow here. 
</script> 
-1

建議不要在同一頁面中使用一個以上的JavaScript庫,有很多的原因是什麼,但因爲我認爲最重要的是:爲什麼要加載2個不同的框架?它們通常尺寸相當大,在大多數情況下具有很多共享功能。

但是,您可以嘗試用此可以這樣做:http://docs.jquery.com/Using_jQuery_with_Other_Libraries

至於了Syntex調用使用文件名的方法,即不存在。瀏覽器加載JavaScript代碼後,會將其添加到文檔的全局範圍中。 你可以做的是把事情「命名空間」裏面,是這樣的:

var MyNamespace = { 
    methodA: function() { 
    // do something 
    }, 
    methodB: function() { 
    // do something 
    } 
}; 

MyNamespace.method(); 

的問題是,雖然使用的是未包裹在命名空間中的第三方庫,至少不是所有代碼。

+1

當jQuery被最小化時,jQuery是** 32 kb **。它的大小並不是那麼大...... – gdoron 2012-02-19 17:55:33

+0

這取決於你如何看待事情,如果你有一個簡單的站點,流量很小,js嘗試降低你加載的字節數和你所做的請求數是一個很好的做法。那麼很好,不重要,否則(每個字節數越大)。另外,人們很少使用jQuery的核心。 – 2012-02-19 17:58:32

+0

我們使用三個獨立的框架。 JQuery骨幹和下劃線。許多框架都是專門爲協同工作而設計的。 Underscore和jQuery共享一些功能,但每個都有自己獨特的功能集。 – tkone 2012-02-20 11:59:59

相關問題