Jquery 在.js中有方法时,将$(document).ready(function(){)放在何处
我创建了一个somefile.js,其中somefile.js包含一些jQuery方法。例如,它包含以下函数:Jquery 在.js中有方法时,将$(document).ready(function(){)放在何处,jquery,Jquery,我创建了一个somefile.js,其中somefile.js包含一些jQuery方法。例如,它包含以下函数: function showWindow(divID) { var dialogDiv = $(divID); dialogDiv.dialog ( { bgiframe: true, modal: true, autoOpen: false, sho
function showWindow(divID)
{
var dialogDiv = $(divID);
dialogDiv.dialog
(
{
bgiframe: true,
modal: true,
autoOpen: false,
show: 'blind'
}
)
dialogDiv.dialog("open");
}
因此,在我的.aspx页面(或其他任何页面,可以是.html)中,我有一个按钮:
<input type="button" onclick="showPopUp('testDiv')" value="Click Me!" />
我的问题是,我们将在我们的应用程序中使用showPopUp。如果它是从onClick事件调用的,那么我应该将$(document).ready(function()放在哪里?因为此代码不在页面中,而是在.js文件中?将$(document).ready(…);
放在(x)html页面的标题中(或者,.php、.aspx等)正常情况下,只要确保它位于链接的脚本
文件之后(加载somefile.js),当然还有jQuery的链接:
<head>
...
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="somefile.js"></script>
<script>
$(document).ready(
function() {
$('input[type=button]').click().showPopUp('testDiv');
}
)
</script>
</head>
...
$(文件)。准备好了吗(
函数(){
$('input[type=button]')。单击().showPopUp('testDiv');
}
)
编辑注意,我觉得我在你的问题中遗漏了一些明显的东西。如果我完全是显而易见的,并且遗漏了你的观点,请发表评论…正确的技术答案将因框架(PHP、ASP.NET等)而异。如果你想在整个应用程序中使用此功能,可以使用脚本标记:
<script type="javascript" src="somefile.js" />
该标记可以包含在“页眉包含”中,以任何最好的方式实现。例如,在ASP.NET中,我会将该标记包含在母版页中。如果需要,可以将其放入Javascript文件中。如果要用onclick属性附加侦听器,实际上不需要使用$(document).ready()
但是,通常认为最好不使用onclick属性,而是使用Javascript附加侦听器,如下所示:
您可以像~ricebowl所说的那样将javascript放在文档的开头。您必须这样做:将函数分成两部分:
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我赞成你的建议,即使用类来识别输入,而不是我自己的-天真愚蠢的-方法。好主意!=)
//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");
}