2013-03-07 36 views
2

我正在開發一個jQuery移動網絡應用程序合併jQuery的1.9.1.min.js和query.mobile-1.3.0.min.js在一個文件中給出錯誤

基礎結構要求的jquery.js和jqueryMobile文檔中記錄的jquery-mobile.js廣告。

<!DOCTYPE html> 
<html> 
<head> 
    <title>Page Title</title> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.css" /> 
    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 
    <script src="myjqueryconfig.js"></script> 
    <script src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.js"></script> 
</head> 

所有的作品好這個結構,但我想合併jQuery的JS與jQuery移動js文件的文件有一個單獨的js文件,但是當我這樣做(簡單地通過剪切和休閒區的jQuery Mobile的代碼到底jQuery的文件)的頁面停止工作和螢火蟲給我一個JavaScript錯誤:

TypeError: $(...).bind(...) is not a function 

我一個js文件的結構爲:

//jquery 1.9.1 min source code 

$(document).bind("mobileinit", function(){ 
    $.mobile.autoInitializePage = false 
}) 

//jquery mobile min 1.3.0 source code 
+0

嗯,你爲什麼要那樣做?他們是單獨的文件的原因.... – Neal 2013-03-07 14:14:02

+0

我的框架合併爲一體的客戶端性能的JavaScript。我認爲它們是單獨的文件,因爲它們是單獨的項目,有任何技術上的理由不會將它們合併到單個文件中? – 2013-03-07 14:23:32

+1

您是否嘗試在連接時在文件之間添加';'? – 2013-03-07 14:32:32

回答

4

添加之間的;連接它們時的文件解決了這個問題。

看看這段代碼:

(function(){ 
    console.log('A'); 
}()) 

(function(){ 
    console.log('B'); 
}()) 

沒有中介分號,第二IIFE看起來像傳遞到第一個參數。所以它失敗了。添加分號可以解決問題,因爲它指定了兩個語句。

JavaScript中的分號是可選的,但忽略它們是非常危險的。

相關問題