使用其他元素的触发器单击阻止关闭导航栏

DJC*_*DJC 5 javascript css jquery twitter-bootstrap jasny-bootstrap

我正在使用jasny bootstrap offcanvas navbar(http://jasny.github.io/bootstrap/components/#navmenu-offcanvas),只要点击事件发生在页面的其他地方,它就会关闭.但是,我们有一个Twitter提要,已被修改为在3个不同的Twitter帐户之间移动.为了在它们之间切换,触发了点击.这导致每次推文切换时导航菜单关闭,我似乎无法阻止它.

这是推特滚动代码:

var tabCarousel = setInterval(function() {
    var tabs = $('#twittertab > li'),
        active = tabs.filter('.active'),
        nextone = active.next('li'),
        toClick = nextone.length ? nextone.find('a') : tabs.eq(0).find('a');
    toClick.trigger('click');
}, 5000)
Run Code Online (Sandbox Code Playgroud)

我试过申请preventDefault(),并stopPropagation()trigger('click'),但我非常缺乏经验与jQuery和我真的只是猜测哪里放这个.

DJC*_*DJC 0

对于遇到类似问题的任何人来说,如果您不介意通过导航栏本身之外的任何点击来牺牲导航栏的关闭,那么答案很简单。即,解决方案意味着单击导航栏外部不会将其关闭。

只需将 'data-autohide="false"' 添加到 offcanvas 元素即可。

然后,我添加了一个功能,可以在单击导航栏中的链接时切换导航栏状态,如下所示;

$('#my-menu > li > a').click(function() {
    $('.navmenu').offcanvas('toggle');
});
Run Code Online (Sandbox Code Playgroud)

这意味着,如果您的链接没有转到另一个页面,而是在同一页面上的某个位置有一个锚点,则当您单击以移动到该部分时,菜单将关闭。