jQuery滚动事件异常

时间:2014-09-24 09:07:11

标签: jquery scroll

我有一个父div(id showmenu),其中有另一个div(类菜单)。菜单div默认隐藏,并在showmenu鼠标点击上向上或向下滚动。到这里它工作正常。

现在,如果点击菜单中的任何链接,我不希望菜单div向上滚动。

这是html:

<div id="showmenu" style="background-color:#cccccc;padding:10px;">
    Click Anywhere
    <div class="menu" style="display: none;">
        <ul>
        <li><a href="#" class="linkclass">Link1</a></li>
        <li><a href="#" class="linkclass">Link2</a></li>
        <li><a href="#" class="linkclass">Link3</a></li>
    </ul>
    </div>
</div>

而且,这是JavaScript:

$(document).ready(function() {
    $('#showmenu').click(function() {
        $('.menu').toggle("scroll");
    });
});

如果单击菜单链接,我不希望菜单div向上滚动,如果在showmenu div中的任何其他位置单击,菜单div应向上滚动。

请帮忙。感谢。

2 个答案:

答案 0 :(得分:2)

试试这个:

$(document).ready(function() {
    $('.menu a').click(function(event) {
        event.stopPropagation();
    });
});

此代码将确保在点击链接时不会调用showmenu&#39; click(),从而阻止滚动。

答案 1 :(得分:1)

$(document).ready(function () {
    $('#showmenu').click(function () {
        $('.menu').toggle("scroll");
    });
    $(".linkclass").click(function (event) {
        event.stopPropagation();
        // Do something
    });
});

DEMO

event.stopPropagation()