2012-08-24 25 views
0

我花了我的分配時間在SO上搜索答案,所以在這裏。鑑於此代碼來創建JS如何以編程方式點擊jQuery導航手風琴中的項目

$("#accordion").accordion({ 
    fillSpace: true, 
    collapsible: false, 
    navigation: true 
}); 

導航手風琴和它來填充它在我看來,(爲了清楚起見去除大部分)

<h2> 
    <a href="#">Messages</a></h2> 
<ul class="menulist" id="messagesNavItems"> 
    @Html.MenuItem("Messaging", "InterOffice", "Message", "selected") 
    @Html.MenuItem("Outbox", "Outbox", "Message", "selected") 
    @Html.MenuItem("Inbox", "Inbox", "Message", "selected") 
</ul> 

這使得

<ul id="messagesNavItems" class="bunch of classes" role="tabpanel"> 
    <li> 
     <a href="/Buyer/Message/InterOffice">Messaging</a> 
    </li> 
    <li> 
     <a href="/Buyer/Message/Inbox">Inbox</a> 
    <li> 
    <li> 
     <a href="/Buyer/Message/Outbox">Outbox</a> 
    <li> 
</ul> 

我如何模擬點擊發件箱從頁面的其他部分?

我能得到的「標題」與

var accordionindex = 5; /*Messages*/ 
$("#accordion").accordion('activate', accordionindex); 

流行,但我需要把它帶到一個新的水平,並「點擊」項目,然後這將導致瀏覽器來瀏覽。

謝謝 斯蒂芬

回答

0

好吧,我不得不放棄一些信貸,信貸是因爲,要kannix誰建議在選擇點擊的方法,但在我的情況無論出於何種原因,仍然沒有激活鏈接並導致導航發生。

我最終什麼事不得不做的是點擊事件到錨第一

$("#messagesNavItems a[href$='Inbox']").on('click', function() { 
     alert('Inbox was clicked'); 
     window.location.href = $(this).attr("href"); 
    }); 

它確實從jQuery的手風琴外的綱領性點擊響應綁定。

下面是所有相關代碼,它們首先設置要打開的右側面板,然後單擊並按照鏈接進行操作。

$(function() { 

    $("#messagesNavItems a[href$='Inbox']").on('click', function() { 
     window.location.href = $(this).attr("href"); 
    }); 

    $('iframe').load(function() { 

     $(this).contents().find("a[href='messages/list.asp?pjid=&box=in&sf=mesibox']").click(function (event) { 
      event.preventDefault(); /* the frame link we are clicking shound not navigate */ 
      var accordionindex = 5; /*Messages*/ 
      $("#accordion").accordion('activate', accordionindex); 
      $("#messagesNavItems a[href$='Inbox']").click(); 
     }); 
    });  
}); 
0

未經測試的代碼:

$("#messagesNavItems a[href$='Outbox']").click(); 
+0

選擇器的工作原理,但它仍然沒有導航? –

+0

在點擊之前,你是否準備好了dom?如果是,請嘗試設置一個顯示問題的jsfiddle。 – kannix

相關問題