18

私はRailsTutorial sample_appに従っており、内部では twitter-boostrap フレームワークを使用しています。開発環境では適切に機能しないドロップダウン メニュー(コード、jQuery)がありますが、本番環境 (Heroku) ではうまく機能します。

「ビジュアルイベント」の助けを借りて、メニュータイトルに関連付けられたイベントがあることを確認しました. 通常の動作は、クリックしてクラスを次のように変更する必要があります。

<li id="fat-menu" class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">

に:

<li id="fat-menu" class="dropdown open">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">

それでも、私の場合、クリックすると「開く」が追加され、同時に削除されます。変更されたことにほとんど気付かなかったのですが、すぐに初期状態に戻ったため、ドロップダウンメニューが開きません。

ブラウザでコードを手動で編集し、クラスに「open」を追加すると、メニューが開きます。次にメニュー タイトルをクリックすると、「open」が一瞬削除されてから、再び返されます (最初のケースとは正反対です)。

本番環境では機能するが、開発環境(同じブラウザー上)では機能しないことに非常に困惑しています。何を確認すればよいですか?

ありがとう!

Vasil //最初の質問で

4

8 に答える 8

36

bootstrap-dropdown.jsのコードを 2 回ロードすると、この動作が発生します。bootstrap-dropdown.jsbootstrap.jsの両方をロードしていないことを確認してください。後者は前者を含む。


JSFiddle FAIL

リソース パネルからbootstrap-dropdown.jsを削除して再実行すると、機能します。

于 2012-08-05T23:01:52.410 に答える
4

(Rails 3.2) ローカルでプリコンパイルされたアセットを削除することで、この問題を解決しました。Heroku/Prod では問題なく動作しますが、dev では即座に開いたり閉じたりします。

rake assets:clean

于 2012-09-05T14:41:08.883 に答える
2

私は同じ問題を抱えていましたが、ブートストラップのドロップダウンが 2 回読み込まれていることが判明しました。この修正で+1!

すべてのページで使用するため、bootstrap-dropdown.js をグローバルにロードします。私たちの開発者の 1 人が、bootstrap.js を依存関係としてウィジェットにロードしました。その結果、ドロップダウンは 1 つを除くすべてのページで機能するようになりました。追跡するのは少し大変で、最近ページで何が変更されたのかを知らなければ、把握するのははるかに困難でした.

于 2013-04-22T17:23:17.907 に答える
2

私はほとんど同じ問題を経験しました。ただし、bootstrap と bootstrap.min js ファイルを同時に 1 つの HTML ページにバンドル (ASP.NET MVC プロジェクト) としてロードします。それらの1つを削除すると解決しました。

于 2015-09-15T07:46:03.750 に答える
2

bootstrap -v 2.1 から 2.3 に更新すると、問題が解決しました。

于 2013-05-31T13:19:40.517 に答える
0

私も同じ問題を抱えていました。プリコンパイルされたアセットが開発と本番で使用されていることを学びました。実稼働環境でキャッシュをテストしていましたが、開発に戻ると、ドロップダウンが機能しなくなりました。

本番環境から開発に戻るときは、コンパイルされたアセットを常にクリーンアップすることを忘れないでください。

于 2012-10-14T22:56:38.523 に答える
0

私は同じ問題を抱えていました。しかし、それが起こったのは、いくつかの終了 HTML 要素を見逃していたということだけでした。

于 2012-08-06T03:48:20.817 に答える