如何手动调用jquery click事件

时间:2014-11-04 08:22:33

标签: javascript jquery html jquery-ui

下面是HTML:

    <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]的click事件。请指导我如何手动调用jquery事件。

含义 - 当需要选择tab1时,click事件应该调用tab1,与tab 2和tab 3 accinlgy相同。

5 个答案:

答案 0 :(得分:4)

据我所知,你需要通话触发功能

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

P.S。更改你的html,并将类标签添加到ul。 jsbin

答案 1 :(得分:1)

您可以使用触发器

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

或简短版本:

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

答案 2 :(得分:1)

您可以找到相应的a元素,然后触发点击事件:

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

即使您在a上触发了事件,它也会冒泡到父li处理程序。

答案 3 :(得分:0)

试试这个:

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

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

答案 4 :(得分:0)

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