1

私は、ratchet.js (およびその push.js) を使用して Web アプリケーションを開発していますが、非常に基本的な問題があります。私の CSS コードは、要素を 1 ページの 3 列に配置します。ユーザーは、ナビゲーション バーのボタンをクリックして次のページに移動できます。次のページでは、ユーザーは何かを検索できます。検索については、フォームを介して処理し、jquery を使用してフォームが送信されたことを検出します。ただし、フォームが送信されると、ページがリロードされ、push.js が誤動作します。これが発生し、ユーザーがクリックして最初のページに戻ると、CSS はまだ 2 番目のページのコンテンツ div に囲まれているため、適切に機能しません。私の質問: ページをリロードせずにフォームを送信する方法はありますか (jquery の event.preventDefault() は機能しません)。そうでない場合、push.js を使用して、遷移が完了したらページをリロードすることはできますか?

基本的なコード例: ページ 1 ----

    <body>
        <div class="content">
            <div class="sliderBackground" id="sliderContainer" style="background: black; height: 40px; width: 100%;">
                <div id="left">random left</div>
                <div id="center">random center</div>
                <div id="right">random Right</div>
            </div>
        </div>
    </body>

ページ2

    <body>
        <div class="content">
            <form id="search">
                <input type="search" id="searcher" placeholder="Search" style="width: 95%;">
            </form>
        </div>
    </body>

    necessary imports (jquery etc)

    <script type="text/javascript">
         $("#search").submit(function(event) {
              event.preventDefault(); // does not do anything (push.js... reloads page)
         });

    </script>

私の問題を繰り返すために、ユーザーはリンク(基本的なコードには示されていません)をクリックしてpush.jsを使用してページ2に移動します。検索クエリなど)。ユーザーが戻ると、左、中央、右の CSS が機能しなくなります。

4

2 に答える 2

0

次のことを試してみるとどうなりますか (return false で終了):

<script type="text/javascript">
     $("#search").submit(function(event) {
          event.preventDefault(); // does not do anything (push.js... reloads page)
          // your logic here

          return false;
     });

</script>
于 2014-07-14T09:20:37.687 に答える
0

これはおそらく少し遅れていますが、プッシュによってロードされたページのスクリプトタグが実行されないことが問題だと思います.

つまり、2 ページ目のコードはまったく実行されていません。

于 2014-08-20T17:11:06.943 に答える