在单个文件中合并jquery-1.9.1.min.js和query.mobile-1.3.0.min.js会出错

时间:2013-03-07 14:10:07

标签: javascript jquery jquery-mobile

我正在开发一个jquery移动webapp

基础结构需要jqueryMobile doc中记录的jquery.js和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-mobile js文件合并为一个js文件但是当我这样做时(简单地通过cut和pust jquery移动代码到jquery文件的末尾)页面停止工作和firebug给我一个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

1 个答案:

答案 0 :(得分:4)

连接文件时在文件之间添加;可以解决问题。

看看这段代码:

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

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

如果没有中间分号,第二个IIFE就像是传递给第一个IIFE的参数。它失败了。添加分号可以解决问题,因为它指定了这两个语句。

JavaScript中的分号是可选的,但省略它们是非常危险的。