リンク送信時にページが動かない場合、誰かがその方法を知っているかどうか疑問に思っていました。
<a href="#"></a>
それが 2 ページの長さであれば、一番上に飛び出します。
jQuery を介して HTML コントロールにイベントを添付した場合は、次return false
のように使用できます。
$("#myDiv").delegate("tr", "click", function() {
enter code here
return false;
});
質問に対するあなた自身の回答が述べているように、アンカーを置き換える必要はありません。
これも同様に機能します。
<a href="#" onclick="yourOwnSubmitFunction(); return false;">
つまり、 onClick ハンドラーに含まれる関数が boolean を返すことを確認してfalse
ください。
リンクのonclick
ハンドラーreturn false;
を使用することは、リンクの追跡を停止する正しい方法ですが、この方法でリンクを使用するのは少しハックです。これは、リンクではなくアクションであるためです。ブックマークを右クリックする、中クリックして新しいタブにするなど、リンクに対して通常のリンクのようなことを行うことはできないため、実際にはそのようなアフォーダンスを持つべきではありません。
別の方法 (たとえば、SO が使用するもの) は、代わりに非リンク要素に onclick を配置することです。たとえば、次のようになります。
<span id="potato">Do something</span>
<script type="text/javascript">
document.getElementById('potato').onclick= function() {
// do something
};
</script>
これはすっきりしていますが、通常のキーボードのタブ移動方法ではリンクをフォーカスおよびアクティブ化できないという欠点があります。
アクションを表す適切なマークアップである<input type="button">
またはを使用することをお勧めします。<button type="button">
もちろん、これらはかなり異なって見えますが、必要に応じて CSS を使用してスタイルを設定し、ボタンではなくリンクのように見せることができます。この方法の 1 つの欠点は、古き良きばかげた IE ではボタンのスタイルを完全に変更できないことです。このブラウザでは、削除できない余分なパディングが数ピクセル表示されます。
.net2.0を使用している場合
あります
MaintainScrollPositionOnPostback
ページのスクロール位置を維持するために使用できる@pageディレクティブのプロパティ。
ポストバック後にユーザーをクライアントブラウザの同じ位置に戻すかどうかを示す値を取得または設定します。このプロパティは、廃止されたSmartNavigationプロパティを置き換えます。
Webページがサーバーにポストバックされると、ユーザーはページの先頭に戻ります。長いWebページでは、これはユーザーがページをスクロールしてページの最後の位置に戻す必要があることを意味します。
MaintainScrollPositionOnPostback()()()プロパティがtrueに設定されている場合、ユーザーは代わりにページの最後の位置に戻ります。
これを使用できない場合は、送信後、location.hrefを指定された位置のアンカータグに設定します。
location.href = "#anchAtPos";
ここで、anchAtPosは、指定された位置にあるアンカータグのIDです。
私はこれを使用して解決しました:
function anchorReplace()
{
$("#reportWrapper a").each(function(i){
var anchorElement = $(this);
var newAnchorElement = $('<a href="#link' + i + '" name="#link' + i + '">'
+ anchorElement.text() + '</a>').insertBefore(anchorElement);
anchorElement.remove();
});
}
私は前にこれを修正しました
onclick='return false;'
リンク内
<a href="#" onclick='return false;' id='attachAlistenertothisID'>This link doesn't jump to the top!</a>
これは、クリック リスナーが jQuery 経由で接続されているリンクに使用します。
これが誰かを助けることを願っています!