我对 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();
which 会停止将要发生的默认操作,即 HREF 将页面移动到新位置。如果您删除e.preventDefault()
您的链接将再次变为“活动”。
更新代码
$('.header a').click(function(e) {
$(this).next('.links').slideToggle('normal');
});
来自 jQuery 文档:http ://api.jquery.com/event.preventDefault/
e.preventDefault()
- 如果调用此方法,则不会触发事件的默认动作。例如,单击的锚点不会将浏览器带到新的 URL。