2

私はjqueryモバイルウェブアプリを開発しています

基本構造には、jqueryMobileドキュメントに記載されている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>

すべてがこの構造でうまく機能しますが、jqueryjsファイルをjquery-mobilejsファイルとマージして単一のjsファイルにしたいのですが、そうすると(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
4

1 に答える 1

4

ファイルを連結するときにファイル間に a を追加する;と、問題が解決します。

このコードを見てください:

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

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

中間のセミコロンがない場合、2 番目の IIFE は最初の IIFE に渡された引数のように見えます。そして、それは失敗します。セミコロンを追加すると、これらが 2 つのステートメントであることを指定するため、問題が解決します。

JavaScript のセミコロンは省略可能ですが、省略すると非常に危険です。

于 2013-03-07T14:54:11.583 に答える