在哪里放我的$(文件).ready(function(){当我在.js中有方法时

我创建了somefile.js,其中somefile.js包含一些jQuery方法。 所以例如它包含这个函数:

function showWindow(divID) { var dialogDiv = $(divID); dialogDiv.dialog ( { bgiframe: true, modal: true, autoOpen: false, show: 'blind' } ) dialogDiv.dialog("open"); } 

所以在我的.aspx页面(或者其他什么,它可能是.html),我有一个按钮:

  

我的问题是,我们将在我们的应用程序中使用showPopUp。 如果它是从onClick事件调用的,那么我在哪里放置我的$(document).ready(function(),因为这段代码不在页面中,而是在.js文件中?

如果需要,可以将其放在Javascript文件中。 如果您使用onclick属性附加侦听器,则实际上不需要使用$(document).ready()。

但是,通常认为不使用onclick属性更好的forms,并在Javascript中附加监听器,如下所示:

 $(document).ready(function(){ $("input.showPopup").click(function(){ showWindow($(this).id); } function showWindow(id){...} } 

你可以把那个javascript放在文件的头部,比如〜ricebowl说。

$(document).ready(...); 在(x)html页面的head (或者,实际上,.php,.aspx等)正常,只要你确保它在链接的script文件之后(加载你的somefile.js)和当然,你的jQuery的链接:

  ...     

编辑注意到我觉得我在你的问题中遗漏了一些明显的东西。 如果我完全明显并且错过了你的观点,请发表评论……

“正确”的技术答案因框架(PHP,ASP.NET等)而异。如果要在整个应用程序中使用此function,可以使用脚本标记:

  

该标记可以包含在“页眉包含”中,以最佳方式实现。 例如,在ASP.NET中,我将在Master页面中包含该标记。

你必须这样做:将函数拆分为两个:

MakeDialog(divID)//这样你就把div准备成一个对话框和ShowDialog(divID)//这就是你显示对话框的地方

 //document load $(document).ready(function(){ MakeDialog(divId);//prepa }); function makeDialog(divID) { var dialogDiv = $(divID); dialogDiv.dialog ( { bgiframe: true, modal: true, autoOpen: false, show: 'blind' } ) } function showWindow(divId) { dialogDiv.dialog("open"); } 

HTH