我有一个简单的HTML.我正在使用JQuery来实现AJAX.现在,我想将我的javascript函数放在一个单独的javascript文件中.这是什么语法?例如,目前HTML中的脚本部分是这样的:
但我想把这个功能
function() { $("#SubmitForm").click(Submit()); })
在文件scripts.js中.我可以使用为该功能指定名称并参考它吗?
编辑:我在这里仍有一些问题:我将代码更改为
在一个单独的js文件中,我有以下代码:
var submitMe = function(){ alert('clicked23!'); //$('#Testing').html('news'); };
这是身体部分:
welcome
然而,它还没有奏效,我想念的是什么?
将scripts.js script
标记向下移动到jQuery script
标记下面,然后将整个内联脚本块移动到scripts.js中.由于jQuery已经在scripts.js加载时已经实例化,因此Javascript将以与此刻相同的方式执行内联.
另外,另外需要更改
$("#SubmitForm").click(Submit());
至
$("#SubmitForm").click(Submit);
您不需要括号,因为此时您没有执行该函数,只是告诉click事件处理程序这是您在事件触发时要执行的函数的名称.
作为另一个提示,你可以$(document).ready(
用$(
ie 替换:
$(function() { $("#SubmitForm").click(Submit); });
双方$
并document.ready
可以在页面上的任何地方包括(或外部文件),并且只要jquery.js和范围,他们会在同一时间射击(一旦DOM加载) -你不必担心是最后一点要解雇的代码.这就是为什么你可以将整个事物移动到scripts.js而不是需要为函数指定名称并从内联脚本引用它.
对于记录,如果您希望按名称引用该函数,只需将其定义为变量:
var func = function() { $("#SubmitForm").click(Submit); }; $(func);
就像我说的那样,这可能在你的情况下有点过分,你可能只是将整个事情移到scripts.js(当然除非你在你的问题中提到的更多).
编辑(处理编辑问题):看起来你正在处理错误的事件处理程序.您正在尝试将函数分配给表单的单击事件处理程序,而您确实希望将其分配给提交按钮的处理程序.因此,您应该使用选择器'#SubmitButton',即:
$("#SubmitButton").click(Submit);