对我的子菜单脚本,我的mailto链接或任何超链接都不起作用,我不知道脚本中的原因和位置会导致问题。
$(function () {
$('footer > ul > li a').click(function(event) {
event.preventDefault();
event.stopPropagation();
var $parentli = $(this).closest('li');
$parentli.siblings('li').find('ul:visible').hide();
$parentli.find('> ul').stop().toggle();
});
});
$(document).click(function() {
$("footer ul li ul").hide();
});
答案 0 :(得分:0)
您正在呼叫event.preventDefault();
。这会阻止事件的默认功能,并最终阻止您的链接被触发。
如果您需要为页脚中的其他a
元素提供此功能,我建议您专门为这些元素添加一个类名,并修改您的事件处理程序以仅应用于这些元素:
<ul>
<li>
<a href="..." class="prevent-default">...</a>
</li>
<li>
<a href="mailto:...">...</a>
</li>
...
</ul>
$('footer > ul > li a.prevent-default').click(function(event) {
event.preventDefault();
...
});
答案 1 :(得分:0)
您可以通过href使用选择器。
$('footer > ul > li a[href="#"]')
所有带有href哈希的超链接(href =&#34;#&#34;)都将使用你的onclick处理程序激活
http://jsfiddle.net/65t6gk5n/3/