2012-04-17 101 views
1

我想引發附加到元素(#scheduleLink)的事件處理程序。 我有一個頁面(第1頁)具有以下JS:引發事件處理程序附加到元素

$(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 

位於其他頁面和TRIGER的#scheduleLink無法正常工作。如何正確地做到這一點?
謝謝。

+1

'$(「#scheduleLink」)。length == 0'我是對嗎? – gdoron 2012-04-17 10:55:55

+0

@gdoron:是的,你說得對。 – user348173 2012-04-17 11:01:57

+0

你可以發佈scheduleLink的標記嗎?這兩個頁面如何鏈接? – mattytommo 2012-04-17 11:02:32

回答

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); 
    }  
}); 

}); 
+0

我解決了它。無論如何,非常感謝。 – user348173 2012-04-17 11:15:35

相關問題