slideDown メニューのリンクに問題があります。
リンクをクリックできないのはなぜですか?
ここで確認できます: JSFiddle
私のjQueryコードは次のとおりです。
$('.links').hide();
$('.header a').click(function(e) {
$(this).next('.links').slideToggle('normal');
e.preventDefault();
});
それを削除e.preventDefault()
すると、デフォルトのアクションが妨げられますclick()
$('.header a').click(function(e) {
$(this).next('.links').slideToggle('normal');
//e.preventDefault();
});
セレクター.header a
は、不要な 内に含まれるすべてのアンカーに影響し.header
ます。toggle()
の直接の子であるアンカー.header
がクリックされた場合にのみ必要です。
$('.header > a').click(function(e) {
e.preventDefault();
$(this).next('.links').slideToggle('normal');
});
これを使用e.preventDefault();
すると、発生するデフォルトのアクションが停止します。つまり、HREF はページを新しい場所に移動します。リンクを削除するe.preventDefault()
と、リンクは再び「アクティブ」になります。
更新されたコード
$('.header a').click(function(e) {
$(this).next('.links').slideToggle('normal');
});
jQuery ドキュメントから: http://api.jquery.com/event.preventDefault/
e.preventDefault()
- このメソッドが呼び出された場合、イベントのデフォルト アクションはトリガーされません。たとえば、アンカーをクリックしても、ブラウザーは新しい URL に移動しません。