由于子菜单脚本,Mailto或超链接在页脚菜单上不起作用

时间:2014-10-20 10:52:25

标签: javascript onclick footer submenu mailto

对我的子菜单脚本,我的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();
});

Fiddle: http://jsfiddle.net/foroloca/65t6gk5n/

2 个答案:

答案 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();
    ...
});

JSFiddle demo

答案 1 :(得分:0)

您可以通过href使用选择器。

$('footer > ul > li a[href="#"]') 

所有带有href哈希的超链接(href =&#34;#&#34;)都将使用你的onclick处理程序激活

http://jsfiddle.net/65t6gk5n/3/