5

このコードを見てくださいhttp://jsfiddle.net/u6N6T/3/。アコーディオンは正常に動作しています。

しかし、prototype.js が読み込まれると壊れます。 http://jsfiddle.net/jWZBD/8/を参照してください。

http://api.jquery.com/jQuery.noConflict/に従って、プロトタイプと一緒に JQuery を動作させましたが、bootstrap.js を "jQuery(document).ready(function($ ) {});".

プロトタイプがロードされたときに Bootstrap を機能させる方法を知っている人はいますか? または、既存のすべてのプロトタイプ ベースの JavaScript を JQuery に変換する必要がありますか?

4

7 に答える 7

6

同じ問題がありました。私はそれを修正できませんでしたが、回避策を見つけました。

まず、$.noConflict()ShaunOReilly が言ったように使用して実行し$、Bootstrap.js のすべての文字を に置き換えますjQuery。ただし、ブートストラップには $ で始まる名前の変数が多数あることに注意してください。これらは jQuery への参照ではなく、変数名の一部です。それらを変更する必要はありません。$.、、、$(および $)のインスタンスを検索して置換するとうまくいくことがわかりました。

次に、bootstrap-transition プラグインをロードしないでください。1 つのスクリプトで完全な lib をロードしている場合は、transition 関数 (bootstrap.js v2.3.0 の一番上にあります) を削除します。トランジション アニメーションは失われますが、折りたたみ構造は引き続き機能します。例については、このフィドルを参照してください。

これにより、ユーザー インタラクションのトグル動作が修正されますが、ページ サイズ変更時のナビゲーション メニューの表示/非表示など、自動トグルは引き続き機能しません。これらの問題を解決するには、独自のイベント リスナーを実装し、必要なブートストラップ関数を直接呼び出すだけです。参照用のAPIを参照してください。

たとえば、ページのサイズ変更に関するナビゲーション バーの問題を解決するために、次のコードを使用しました。

window.onresize = function(event) {
   var nav = jQuery(".collapse");
   if (jQuery(window).width() > 940) nav.collapse('show');
   else nav.collapse('hide');
}
于 2013-02-23T00:02:21.890 に答える
1

理想的ではありませんが、CSS3 アコーディオンをコーディングして、すべての jQuery カオスをバイパスすることはできます...ここで 1 つを見ました: CSS3 を使用したアコーディオン

于 2013-02-26T07:56:02.290 に答える
0

2つのオプション:

Twitter jsファイル内のすべてをカスタムファイルに置き換え、すべての$文字を「jQuery」という単語に置き換えます

これが問題となる唯一のビットである場合は、独自のアコーディオンの種類のトグル機能を作成できます。

もう1つのオプションは、プロトタイプのものをjQueryに変換することです。jQueryを使用できる場合、私は個人的にPrototypeを使用するのが嫌いです。

同様の問題の別の例を次に示します 。jQueryとプロトタイプの競合

または、考えられる解決策はここにあります: http ://www.dynamicdrive.com/forums/showthread.php?29309-Content-Glider-and-Lighbox-Conflict

于 2012-08-27T05:25:11.110 に答える
0

bootstrap.js を使用している場合は、以下を置き換えます。

this.$element.trigger(startEvent); 

と:

this.$element.triggerHandler(startEvent);

スムーズに動作します

于 2016-01-20T04:56:55.860 に答える
0

これは古い質問であることは知っていますが、そこにあるすべての提案を試してみましたが、役に立ちませんでした。私にとってうまくいったのは、プロトタイプライブラリをわずかに変更して、ここのような特定のBootstrapイベントをフィルタリングすることでした-

https://github.com/zikula/core/commit/079df47e7c1f536a0d9eea2993ae19768e1f0554

于 2015-04-22T15:59:51.667 に答える