.trigger("点击")不起作用

时间:2017-07-25 07:24:28

标签: javascript jquery

我有ul

<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>

我放了一个事件处理程序来获取&#34;按钮&#34;点击:

$('.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");   
});

当我点击&#34;按钮&#34; removeclass.attr工作正常,但.trigger无效。有谁知道为什么?

1 个答案:

答案 0 :(得分:3)

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

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

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