+/- 記号を使用してテキストを再表示/非表示にする方法に関する古い StackOverflow の質問があります。
Cheesoは、いくつかのサンプル コードを含む優れたソリューションを投稿しました。元のポスターは一致しませんでしたが、まさに私が探していたものでした。:-)
モバイル デバイスでの使用を意図した Web サイトでコードを使用しています。唯一の問題は、+/- がタップされるたびにページが画面の上部に戻ることです。
とにかくそれを回避する方法はありますか?ありがとう。
+/- 記号を使用してテキストを再表示/非表示にする方法に関する古い StackOverflow の質問があります。
Cheesoは、いくつかのサンプル コードを含む優れたソリューションを投稿しました。元のポスターは一致しませんでしたが、まさに私が探していたものでした。:-)
モバイル デバイスでの使用を意図した Web サイトでコードを使用しています。唯一の問題は、+/- がタップされるたびにページが画面の上部に戻ることです。
とにかくそれを回避する方法はありますか?ありがとう。
クリック イベント ハンドラーで、false を返します。
$('a.selector').click(function() {
return false;
});
Cheesoがメールで提供してくれた回答を次に示します。フォローしている他の人の利益のためにここに投稿しています。これはうまくいきませんでした。私はその理由を解明している最中です。
この行を変更すると $('div pa[href="#"]').click(function() { expando(this); });
これに:
$('div pa[href="#"]').click(function(ev) { ev.preventDefault(); expando(this); });
...上へのスクロールをやめるべきだと思います。
ユーザーがハッシュ文字を含むリンクをクリックすると、ブラウザはページ上のフラグメント マーカーが配置されている場所までスクロールすることが期待されます。ブックマークのように。たとえば、この URL では: http://en.wikipedia.org/wiki/Causes_of_WWII#Militarism フラグメント (ブックマーク) は #Militarism であり、そのリンクをクリックすると、ブラウザーはそのセクションにスクロールします。
私が書いたそのサンプルの場合、href は裸の # 文字であり、空のフラグメントを意味します。そして、ブラウザがデフォルトの場所、つまり「ページの上部」にスクロールしていると思います。
これを回避するには、クリック ハンドラで ev.preventDefault() を呼び出すだけです。これは、クリックの通常の処理を抑制する jQuery のトリックです。あなたの場合、ブラウザが存在しないアンカーにスクロールしようとする部分を抑制します。
event.preventDefault()
クリック ハンドラに実装します。
$('a').click(function(e) {
e.preventDefault();
// more code here
});