在Jquery中引用Javascript文件

在Jquery中引用Javascript文件,jquery,Jquery,我有一个简单的HTML。我将JQuery用于AJAX目的。现在,我想把我的javascript函数放在一个单独的javascript文件中。这个的语法是什么?例如,当前HTML中的“我的脚本”部分如下所示: <script> <script type="text/javascript" src="scripts/scripts.js"></script> <script type="text/javascript" src="scripts/jquery

我有一个简单的HTML。我将JQuery用于AJAX目的。现在,我想把我的javascript函数放在一个单独的javascript文件中。这个的语法是什么?例如,当前HTML中的“我的脚本”部分如下所示:

<script>
<script type="text/javascript" src="scripts/scripts.js"></script>
<script type="text/javascript" src="scripts/jquery.js"></script>
<script type = "text/javascript" language="javascript">
 $(document).ready(function() {
   $("#SubmitForm").click(Submit());
 });
</script>
在scripts.js文件中。我可以使用为该函数指定名称并引用它吗

编辑:我这里还有一点问题:我把代码改为

<script type = "text/javascript" language="javascript">
$(document).ready(function() {
    $("#SubmitForm").click(submitMe);
});
</script>
以下是正文部分:

<body>
welcome
<form id="SubmitForm" action="/showcontent" method="POST">
<input type="file" name="vsprojFiles" />
<br/>
<input type="submit" id="SubmitButton"/>
</form>

<div id="Testing">
hi
</div>

</body>

欢迎

你好

但是,它仍然不起作用,我遗漏了什么?

是的,这不是问题,只需将函数存储为变量,就像存储其他函数一样

$('head').append('&lt;script type="text/javascript" src="scripts/scripts.js"/&gt;')
var myfunc = function(){
    // Do some stuff
}
然后,可以使用以下语法在jQuery init函数中运行它:

$(document).ready(myfunc);
对于在document ready上运行的代码,还有一个快捷语法,它只是将函数传递到jQuery中:

$(myfunc);

将scripts.js
script
标记向下移动到jQuery
script
标记下方,然后将整个内联脚本块移动到scripts.js中。由于jQuery在scripts.js加载时已经实例化,Javascript将以与当前相同的方式内联执行

另请注意,您需要进行更改

$("#SubmitForm").click(Submit());

您不需要括号,因为此时您没有执行函数,只是告诉click事件处理程序这是事件激发时要执行的函数的名称

作为另一个提示,您可以将
$(document).ready(
替换为
$)(
即:

 $(function() {
   $("#SubmitForm").click(Submit);
 });
$
document.ready
都可以包含在页面的任何位置(或外部文件中),只要jQuery.js在范围内,它们就会同时启动(一旦加载DOM)-您不必担心它是最后一段代码。这就是为什么您可以将整个内容移动到scripts.js,而不需要为函数指定名称并从内联脚本引用它

对于记录,如果您确实希望按名称引用函数,只需将其定义为变量:

var func = function() {
  $("#SubmitForm").click(Submit);
};

$(func);
正如我所说,在您的情况下,这可能有点过头了,您最好将整个内容移到scripts.js(当然,除非有比您在问题中提到的更多的内容)

编辑(处理编辑到问题):看起来您处理的事件处理程序是错误的。您试图将函数分配给表单的单击事件处理程序,而您确实希望将其分配给提交按钮的处理程序。因此,您应该使用选择器“#SubmitButton”即:

$("#SubmitButton").click(Submit);
为什么不扔掉

$(document).ready(function() {
    $("#SubmitForm").click(Submit);
});
在外部文件中?它将像当前一样工作,因为您可以堆叠onDomReady事件

然后,您的html应该是这样的(注意第一个
是坏的):


您可以发布HTML标记吗?
var func = function() {
  $("#SubmitForm").click(Submit);
};

$(func);
$("#SubmitButton").click(Submit);
$(document).ready(function() {
    $("#SubmitForm").click(Submit);
});
<script type="text/javascript" src="scripts/scripts.js"></script>
<script type="text/javascript" src="scripts/jquery.js"></script>
<script type="text/javascript" src="scripts/scripts.js"></script>