2014-11-04 52 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示例,請致電HREF[#TAB1/2/3]的點擊事件。請指導我如何手動調用jquery事件。

含義 - 當需要選擇tab1時,它的click事件應該調用tab1,與tab2和tab3相同。

回答

4

我的理解,你需要調用觸發功能

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

附:更改您的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事件中添加了警報,它在href手動執行clikc時調用,但在您使用手動點擊事件時沒有調用。 PLZ指南。 – dsi 2014-11-04 08:32:26

0
function selectTab(tab) { 
    $("ul.tabs li a[href='#" + tab + "']").trigger("click"); 
}