2

ページが読み込まれるときに jquery JavaScript を読み込もうとしていますが、常に 2 回読み込まれます。jquery 1.7.2 と jquery mobile 1.1.0 を使用しています。この 3 つの異なる方法を試しましたが、常にスクリプトが 2 回読み込まれます。

$(document).bind("ready", function() { }
$(document).ready(function() { }
$(document).live('pageinit',function(event) { }

編集:私はそれを解決しました、たわごと!この間違いは他の誰にも起こらないと 100% 確信しています。このばかげた問題で申し訳ありません。

4

4 に答える 4

7

上記と同じ問題がjqueryMobileで発生していました。つまり、本文に配置されたすべてのスクリプトが 2 回読み込まれます。に配置すると、予想どおり 1 回だけロードされます。

ルート (ボディの開始後の最初の div) を変更して、「ページ」のデータロールを含めることで、ボディの問題での二重読み込みを解決しました。

<body>  
<div data-role="page"> 

ほら、ダブルロードはもうありません!

これは、新しい HTML5BoilerPlate のユーザーによく見られる問題です。

于 2012-05-25T04:32:04.020 に答える
2

jQuery 1.7.2 は、現時点では jQuery Mobile 1.1.0 で完全にテストされていません。jQuery 1.7.1 を使用することをお勧めします。

jQuery 1.7.1 のサポート

jQuery Mobile 1.1.0 は、jQuery コアの 1.6.4 と 1.7.1 の両方のバージョンをサポートするようになりました。1.7.1 を使用して、最新リリースの優れた改善点をすべて活用することをお勧めします。しばらく 1.0.1 を使い続ける場合は、1.6.4 しかサポートしていないことに注意してください。私たちはまだ 1.7.2 をテストしており、将来のリリースで正式にサポートする予定です。

于 2012-04-23T13:28:15.980 に答える
2

更新: jQuery 1.7.2 および jQuery Mobile 1.1.0 を使用してローカルでこれを試しましたが、正常に動作します。イベントへの 1 つの呼び出しが表示されpageinitます。複数のページを試してみましたが、まだ呼び出しが 1 つしか表示されませんpageinit

一般に、jQuery Mobile で ready イベントを使用したくはありませんが、イベントだけに固執しpageinitます。jQueryモバイルイベントのドキュメントに従って...

初期化が発生した後、初期化中のページでトリガーされます。DOM ready() の代わりにこのイベントにバインドすることをお勧めします。これは、ページが直接読み込まれるか、コンテンツが Ajax ナビゲーション システムの一部として別のページに取り込まれるかに関係なく動作するためです。

より具体的な答えを得るには、実際のコードを投稿する必要があります。readyただし、質問にとが混在pageinitしているため、私は推測pageinitしてreadyおり、両方とも同じコードを呼び出しています。

于 2012-04-23T13:32:07.473 に答える
0

jQueryMobile 1.3.0 でスクリプトが 2 回呼び出されていましたが、jquery-1.7.2 の代わりに jquery-1.9.1を使用して問題を修正しました。 また、以前のバージョンの jQuery との後方互換性のために、jQuery Migrate Plugin ie < script src="http://code.jquery.com/jquery-migrate-1.1.0.min.js">< /script>を
使用することもできます。

于 2013-04-08T07:49:25.287 に答える