2012-04-17 82 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

相关问题