繁体   English   中英

为什么我的锚标签不起作用?

[英]Why do my anchor tags not work?

我使用无序列表,列表项,jQuery和CSS制作了一个下拉菜单。 当我单击菜单项(即锚点)时,它们均无作用。 当我单击锚点时,所有发生的事情就是菜单消失了。 如果我右键单击一个锚点,然后在新选项卡中将其打开,则它确实会按预期进行重定向。 是一个显示我的代码和当前问题的jFiddle。 请注意,菜单有些难以打开,您必须单击图标的底部。 如果有人能建议为什么锚不能正确打开,将不胜感激。

HTML:

<span class="menu_item" id="settings">
    <ul>
        <li>
            <a href="#" onclick="return false;">&#9788;</a>
            <ul>
                <li>
                    <a href="/admin.php">Admin Center</a>
                </li>
                <li>
                    <a href="/login/process.php">Logout</a>
                </li>
            </ul>
        </li>
    </ul>
</span>

return false; 您在settings_open中有两件事,其中之一是取消默认操作(遵循链接)。 请记住,单击会从后代元素到祖先元素冒泡。

如果更改则return false;否则, return false; 改为event.stopPropagation() ,您无需阻止默认设置,并且链接可以正常工作。 (也没有理由从事件处理程序中返回true 。)

小提琴

function settings_open(event){

    settings_canceltimer();
    settings_close();
    var submenu = $(this).find('ul');

    if(submenu){
        ddmenuitem = submenu.css('visibility', 'visible');
        event.stopPropagation(); // <== Change here
    }

    // Removed return true here
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM