0

私は以下のように2セットの機能を実装しています:-

ウィンドウ生成の場合 - 必要な jQuery ライブラリは次のとおりです。 - jquery.js (v1.3.2) - jquery-ui.js (v1.7.2)

ここで使用されている広範なライブラリを使用しています。これは、$.window{...} を使用して jquery ベースのダイアログ ウィンドウを作成します。

オートコンプリート/プラグイン検索の場合 - 私が使用している必要なライブラリは次のとおりです: - jquery.js (v1.7.2) - jquery-ui.js (v1.8.18)

これら 2 つは、別々に、完全に正常に動作します。ただし、同じページで使用する場合は、これらの関数の両方が中間のどこかで一致するように、noconflict ファイルを作成する必要がありました。したがって、今のところ、私は使用しています:

  • jquery.js (v1.3.2)
  • jquery.js (v1.7.2)
  • jquery-ui.js (v1.8.1)

なので:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.js"></script>
<script type="text/javascript" src="http://jqueryui.com/ui/jquery.ui.autocomplete.js"></script>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.3.2.js"></script>
<script type="text/javascript">
    var jQuery_1_3_2 = $.noConflict(true);
</script>

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/jquery-ui.js"></script>

/* Here I would like to use the script below with another noConflict, because v1.8.1 (above) causes flickering of dialog boxes while dragging around & isnt smooth like the one below, which is v1.7.2:-
<script type="text/javascript" src="http://fstoke.me/jquery/window/js/jquery/jquery-ui.js"></script>
*/

<script type="text/javascript" src="http://fstoke.me/jquery/window/js/jquery/window/jquery.window.js"></script>

上記のように使用すると、ウィンドウを操作するときにかなりの量の視覚的な不具合が発生します。ウィンドウを移動すると、ページの他のセクションが強調表示されたりちらついたりすることがよくあります (クイック ハイライト) - 約 50% の時間。ドラッグとサイズ変更もスムーズではありません。

v1.7.2 の jquery.js を削除すると、ウィンドウはよりスムーズになりますが、オートコンプリート機能が機能しなくなります。v1.3.2 jquery.js を削除すると、ウィンドウが生成されません。

現在、次のような関数を使用しています:-

function createSampleWindow() { 
sampleWnd = $.window({
.......//Code here
}(jQuery_1_3_2);

ここでも、次のような変数を使用して v1.7.2 jquery-ui.js を使用するにはどうすればよいですか?

<script type="text/javascript" src="http://fstoke.me/jquery/window/js/jquery/jquery-ui.js"></script>
<script type="text/javascript">
    var jq_172= $.noConflict(true);
</script>

Qn 1同じ関数で jQuery_1_3_2 と jq_172 の両方の変数を使用するための正しい構文は何ですか? ここで使用されるもの:-

function createSampleWindow() { 
sampleWnd = $.window({
.......//Code here
}(jQuery_1_3_2, jq_172);

または

function createSampleWindow() { 
sampleWnd = $.window({
.......//Code here
}(jQuery_1_3_2),(jq_172);

動作しません。

Qn 2 v1.3.2 ではなく jquery.js v1.7.2 を使用して fstoke で使用されているような大きな JavaScript を実装することは可能でしょうか?それは機能しなくなります-私は大いに義務付けられます。

ウィンドウは $.window({...}); によって作成されているため、追加する場合があります。- $.window を $.dialog に置き換えても、ダイアログ ボックスが表示されません。私が間違っているところはありますか?fstoke で使用されている js ファイルに目を通してください。

Qn 3誰かがfstoke jquery-uicdn でホストされている jquery -ui の間にどのような違いがあるかを指摘できますか? どちらも v1.7.2 jquery-ui.js ファイルです。

非常に長いクエリだと思いますが、至急助けが必要です。早い段階で助けてください。

4

1 に答える 1

0

質問1をします。

両方のバージョンの jQuery を使用するための正しい構文は、次のようになります。

var jQuery_1_3_2 = jQuery.noConflict(true);

function createSampleWindow() { 
    var no_op = jQuery.noop;       // refers to jQuery 1.7.2's noop function
    var no_op = $.noop;            // same as the above
    var no_op = jq_172.noop;       // same as the above
    var guid = jQuery_1_3_2.guid;  // refers to jQuery 1.3.2's guid member
}

つまり、すでに定義されている場合は、それらを使用するだけです。は元の意味にnoConflict(true)戻りますので、通常どおり使用できます。$jQuery

于 2012-07-09T22:40:30.683 に答える