3

フォームでJQueryの表示/非表示機能を使用しています(phpで生成)

このフォームには10個の非表示要素があり、ユーザーが[別の要素を追加]リンクをクリックするたびに、次の非表示要素が表示され、フッターが下に移動します。ここまでは順調ですね。

問題は、2つまたは3つの非表示要素が表示された後、ページが大きくなり、Firefoxの右側のナビゲーションスクロールバーが表示されることです。これは問題ありませんが、次の[別の追加]リンクをクリックすると、ナビゲーションスクロールバーがフリックします。非表示の要素が表示されている間、ページの先頭に戻ります。新しい非表示の要素を追加するすべてのリンクにより、ページが上にフリックして戻ります。この動作は望ましくありません...

誰かがこれを修正する方法を知っていますか?

4

2 に答える 2

5

'add another'aは、新しいコンテンツを追加するクリックハンドラーを備えた実際の要素ですか?

もしそうなら、あなたはおそらくしたいですevent.preventDefault()。次のようなものを試してください。

$('.myClickedLink').click(function(event) {

    event.preventDefault();
    // Run my code

})

これにより、リンクのデフォルトの動作が防止されます。これがあなたのページを毎回トップに戻す原因だと思います。

編集:最初、私のコードでは、preventDefault()ではなくstopPropagation()と誤って入力しました。ただし、上記のテキストでは正しかった。ごめん。

于 2010-02-22T13:06:43.317 に答える
3

クリックイベントの最後にreturnfalseを追加するのはどうですか

于 2010-02-22T21:52:32.907 に答える