1

要素 ( ) にアタッチされたイベント ハンドラーを発生させたい#scheduleLink。次の JS を含むページ (page1) があります。

$(document).ready(function () {
    loadPublicationTab(); // load partial veiw via ajax
    var tab = "@Model.ActiveTab";

    if (tab === "#scheduleLink") {
        $("#scheduleLink").trigger('click');
        alert("true");
    } 
    else {
        alert("false");
        loadPublicationList(-1, 1); 
    }        
});

function loadPublicationTab() {
    $(".wrap_tabs").load("/Publication/GetPublicationTab?mainPage=" + false + "&isEvent=" + true);
}

以下loadPublicationTabを返します。

<script type="text/javascript">
    $(document).ready(function () {
        $("#scheduleLink").click(function () {
            loadScheduleEvent();
            $(".wrap_tabs").find("a").removeClass("active");
            $(this).addClass("active");
        });
    });
</script>
// other html 

他の#scheduleLinkページとトリガーにあるものは機能しません。これを適切に行う方法は?
ありがとう。

4

1 に答える 1

0

loadPublicationTab 関数は非同期で動作します。その#scheduleLinkため、document.ready には読み込まれません。でイベントを開始します。load()関数の成功

$(document).ready(function () {
    $(".wrap_tabs").load("/Publication/GetPublicationTab?mainPage=" + false + "&isEvent=" + true, 
    function(){
     var tab = "@Model.ActiveTab";

    if (tab === "#scheduleLink") {
        $("#scheduleLink").trigger('click');
        alert("true");
    } 
    else {
        alert("false");
        loadPublicationList(-1, 1); 
    }    
});

});
于 2012-04-17T11:07:31.633 に答える