手动触发引导导航栏菜单单击事件

Vik*_*ari 5 jquery twitter-bootstrap twitter-bootstrap-3

我有一个要求,我必须手动触发 bootstrap(v3.3.5) 导航栏菜单的单击事件。我尝试过 li 的点击事件以及 li 内的标签,但它们不起作用。下面是我的代码:

<div id="navbar" class="collapse navbar-collapse">
    <ul class="nav navbar-nav">
        <li role="presentation"><a href="index.html"><span class="menuicon home"></span><span class="menutittle">Home</span></a></li>
        <li id="li_contact"><a href="contact.html"><span class="menuicon contact"></span><span class="menutittle">Contact</span></a></li>
        <li id="li_watsNew"><a href="wats-new.html"><span class="menuicon fingerprint"></span><span class="menutittle">What's New</span></a></li>

        /// etc. . . .
Run Code Online (Sandbox Code Playgroud)

Jquery代码:

$('#li_watsNew').click(); //doesn't fire
Run Code Online (Sandbox Code Playgroud)

或者

$('#li_watsNew a').click(); //doesn't fire
Run Code Online (Sandbox Code Playgroud)

请帮我解决这个问题。

Bla*_*čič 4

这行代码将把用户带到您<a>所指向的位置:

window.location = $('#li_watsNew a').attr('href');
Run Code Online (Sandbox Code Playgroud)

这也会触发 onclick 事件:

$('#li_watsNew a')[0].click();
Run Code Online (Sandbox Code Playgroud)

您的代码的问题是,它使用了 jQuery 的单击事件。在这种情况下,您需要本机的。jQuery 对象的$()[0]为您提供它的 DOM 版本(第一个查询匹配的版本)。你也可以使用 jQuery 的$().get(0),它完全等同于$()[0]