我在slideDown菜单中遇到链接问题。
链接是不可点击的原因?
您可以在此处查看:JSFiddle
我的jQuery代码是:
$('.links').hide();
$('.header a').click(function(e) {
$(this).next('.links').slideToggle('normal');
e.preventDefault();
});
答案 0 :(得分:1)
删除e.preventDefault()
会阻止click()
$('.header a').click(function(e) {
$(this).next('.links').slideToggle('normal');
//e.preventDefault();
});
<强> Demo Here 强>
答案 1 :(得分:1)
您的选择器.header a
会影响您不想要的.header
中包含的所有锚点。只有在点击toggle()
的直接子项的锚点时,您才需要.header
。
$('.header > a').click(function(e) {
e.preventDefault();
$(this).next('.links').slideToggle('normal');
});
答案 2 :(得分:0)
您使用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。