2017-07-25 103 views
0

我有一个ul.trigger( “点击”)不起作用

<ul class="nav nav-pills nav-justified" id="navTab"> 
    <li onclick="setTimeout(breadcrumbChange, 200);" class="active"> 
    <a href="#stepOne" data-toggle="tab"> 
     <i class="fa fa-map-marker"></i> 
     <br>#rn:msg:CUSTOM_MSG_CLIENT_PROJECT_TAB# 
    </a> 
    </li> 
    <li onclick="setTimeout(breadcrumbChange, 200);" class="disabled"> 
    <a href="#stepTwo" data-toggle="tab"> 
     <i class="fa fa-star"></i> 
     <br>#rn:msg:CUSTOM_MSG_BASE_PRODUCT_SELECTION_TAB# 
    </a> 
    </li> 
    <li onclick="setTimeout(breadcrumbChange, 200);" class="disabled"> 
    <a href="#stepThree" data-toggle="tab"> 
     <i class="fa fa-magic"></i> 
     <br>#rn:msg:CUSTOM_MSG_DESIGN_STYLE_TAB# 
    </a> 
    </li> 
    <li onclick="setTimeout(breadcrumbChange, 200);" class="disabled"> 
    <a href="#stepFour" data-toggle="tab"> 
     <i class="fa fa-gift"></i> 
     <br>#rn:msg:CUSTOM_MSG_ORDER_REVIEW_TAB# 
    </a> 
    </li> 
</ul> 

而且我有一个按钮

<div class="pull-right"> 
    <a class="btn btn-template-main btnNext"> 
     #rn:msg:CUSTOM_MSG_COMPLETE_ORDER_CMD#<i class="fa fa-check"></i> 
    </a> 
</div> 

我把一个事件处理程序来获取 “按钮” 点击:

$('.btnNext').click(function() { 
    $('#navTab li.active').next('li').removeClass('disabled'); 
    $('#navTab li.active').next('li').find('a').attr("data-toggle", "tab"); 
    $('#navTab li.active').next('li').find('a').trigger("click"); 
}); 

当我点击“按钮”removeclass.attr工作完美,但.trigger不工作。有谁知道为什么?

+0

只需使用$( '#navTab li.active')。接下来( '礼')。找到( 'A')。点击() – Roy

回答

3

.trigger()将只执行关联的事件处理程序,它不会实际单击该元素。如果没有事件处理程序被盗用,它将不会执行任何操作。

但是,您可以使用.get()来获取底层DOM元素的引用,然后可以执行本机click()

$('#navTab li.active').next('li').find('a').get(0).click() 
+2

它的工作原理!非常感谢 :) – MVRCXS