我创建了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),我有一个按钮:
<input type="button" onclick="showPopUp('testDiv')" value="Click Me!" />
我的问题是,我们将在我们的应用程序中使用showPopUp。如果从onClick事件调用它,那么我在哪里放置我的$(document).ready(function(),因为这段代码不在页面中,而是在.js文件中?
答案 0 :(得分:5)
将$(document).ready(...);
放在(x)html页面的head
(或者,实际上是.php,.aspx等)中,只要你确定它来了在链接的script
文件之后(加载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>
<小时/> 已编辑注意到我觉得我错过了一些明显的问题。如果我完全明显并且错过了你的观点,请评论......
答案 1 :(得分:5)
如果需要,可以将其放在Javascript文件中。如果您使用onclick属性附加侦听器,则实际上不需要使用$(document).ready()。
但是,通常认为不使用onclick属性更好的形式,并在Javascript中附加监听器,如下所示:
<input type = "button" class = "showPopup" id = "testDiv" value = "Click Me!" />
$(document).ready(function(){
$("input.showPopup").click(function(){
showWindow($(this).id);
}
function showWindow(id){...}
}
你可以把这个javascript放在文件的头部,比如〜ricebowl说。
答案 2 :(得分:0)
“正确”的技术答案因框架(PHP,ASP.NET等)而异。如果要在整个应用程序中使用此功能,可以使用脚本标记:
<script type="javascript" src="somefile.js" />
该标记可以包含在“页眉包含”中,以最佳方式实现。例如,在ASP.NET中,我将在Master页面中包含该标记。
答案 3 :(得分:0)
你必须这样做:将功能分成两部分:
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