2017-07-25 124 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