0

在我的网站上,我有一个按钮。如果你点击它,会出现一个下拉菜单。如果你再次点击它。它会消失。我为此使用了 jQuery 函数 TOGGLE。现在我想要以下。如果您移出下拉菜单 2 秒钟,或单击下拉菜单外的某个位置。它必须再次消失。

有没有办法用计时器切换切换功能并点击外面?这是代码:

$(Ar3).addClass(aU);
$('.ContextMenuLink').toggle(function () {
    $(hP).css('background', '#fff');
    $('.ContextMenuTxt').css('color', '#6b8592');
    $(CM).css('display', 'block');
    $(Ar3).addClass(aD).removeClass(aU);
}, function () {
    $(hP).css('background', 'none');
    $('.ContextMenuTxt').css('color', '#fff');
    $(CM).css('display', 'none');
    $(Ar3).removeClass(aD).addClass(aU);
});
4

1 回答 1

0

只需将您的计时器设置为发出$('.ContextMenuLink').click().

至于外部点击,我会这样做:

$(document).click(function outSideClick(e){
    if(e.target != $('.ContextMenuLink')[0]){
        $('.ContextMenuLink').click();
        $(document).unbind('click',outSideClick);
    })
});

您还应该记住,每当您通过单击它或使用计时器关闭下拉列表时,取消绑定此事件。

于 2012-08-22T07:48:15.667 回答