2014-11-04 3 views
0

Ниже HTML:как вызвать событие JQuery клик вручную

<div class="accordianDiv"> 
      <ul> 
       <li class="active"><a href="#tab1">tab 1</a></li> 
       <li><a href="#tab2">document tab 2</a></li> 
       <li><a href="#tab3">tab 3</a></li> 
      </ul> 
     </div> 

Ниже нажмите код события:

//On Click Event 
    $("ul.tabs li").click(function() { 
     $("ul.tabs li").removeClass("active"); //Remove any "active" class 
     $(this).addClass("active"); //Add "active" class to selected tab 
     $(".tab_content").hide(); //Hide all tab content 
     var activeTab = $(this).find("a").attr("href"); //Find the rel attribute value to identify the active tab + content 
     alert(activeTab); 
     $(activeTab).fadeIn(); //Fade in the active content 
     return false; 
    }); 

По щелчку любой HREF, он прекрасно работает и выполнить над Jquery вещи.

Теперь мне нужно выполнить над jquery вручную, используя пример jquery, вызвать событие click для HREF[#TAB1/2/3]. Пожалуйста, помогите мне в этом, как я могу вызвать событие jquery вручную.

Значение - при необходимости выбрать tab1, тогда событие click должно вызвать табло 1, как для вкладки 2, так и для вкладок 3 accordinlgy.

ответ

4

Как я понял, вам нужно вызвать функцию Trigger

$("ul.tabs li").trigger('click') 
$('ul.tabs li a[href="#tab2"]').trigger('click') 

P.S. Измените свой html и добавьте вкладки класса в ul. jsbin

1

Вы можете использовать триггер

$("ul.tabs li").trigger('click'); 

или короткую версию:

$("ul.tabs li").click(); 
0

попробовать это:

var i, len, 
    tabsToClick = [ 'tab1', 'tab2', 'tab3' ]; 

for (i = 0, len = tabsToClick.length; i < len; i++) { 
    $('[href="#'+ tabsToClick[ i ] +'"]').click(); 
} 
1

Вы можете найти соответствующее a элемент, а затем вызвать нажмите событие на нем:

var tab = "tab2"; 
$("ul.tabs li a[href='#" + tab + "']").click(); 

Даже если вы вызываете событие на a, оно все равно пузырится до родителя. li обработчик.

+0

Пробный, но не выполнен, я добавил предупреждение в событие click, он вызывает, когда вручную clikc в href, но не вызывал, когда вы используете ручной щелчок по событию, как вы сказали. plz. – dsi

0
function selectTab(tab) { 
    $("ul.tabs li a[href='#" + tab + "']").trigger("click"); 
} 
Смежные вопросы