当函数位于外部javascript文件中时,onclick事件不起作用

当函数位于外部javascript文件中时,onclick事件不起作用,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,在来到这里之前,我尝试了stackoverflow中列出的几个链接,但没有一个帮助我解决这个问题,或者可能是我做错了什么 我在我的aspx中有一个输入按钮,有serverclick事件以及onclick,客户端和服务器方法都被正确调用,我只在“onclick”函数位于外部文件(它位于同一目录)中时才面临问题 我甚至在aspx中引用了js文件 注: 除此之外,所有其他控件都在外部js中工作 内联函数可以正常工作,但在外部函数中移动时不能正常工作 我甚至尝试了window.onload(),但它在p

在来到这里之前,我尝试了stackoverflow中列出的几个链接,但没有一个帮助我解决这个问题,或者可能是我做错了什么

我在我的aspx中有一个输入按钮,有serverclick事件以及onclick,客户端和服务器方法都被正确调用,我只在“onclick”函数位于外部文件(它位于同一目录)中时才面临问题

我甚至在aspx中引用了js文件

注:

除此之外,所有其他控件都在外部js中工作

内联函数可以正常工作,但在外部函数中移动时不能正常工作

我甚至尝试了window.onload(),但它在pageload期间触发函数,这不是我所需要的

aspx

 <script type="text/javascript" src="external.js"></script>

如果在外部文件中写入,则需要将其定义为全局函数

 function FormValidate() {
    alert("Validated");
  };
删除它周围的
.ready(function…
将使其成为全局的,将在html文件中调用。

请删除
$(document).ready(function(){
显示在
函数FormValidate()周围)
使其成为全局函数。现在,通过将其放置在
ready
处理程序中,您将使其成为局部作用域函数。因此,您的external.js应该是:

function FormValidate() {
    alert("Validated");
  }

您正在限制功能范围,请将其置于
之外。就绪(功能…

这将允许您的功能在全局可用,如果出现错误,请签入控制台删除
$(文档)。就绪(功能(){
围绕您的函数使其成为全局函数。哦!我不知道,为什么我会变得如此愚蠢!!@vijay感谢您发现我的错误。这种情况发生了很多次…别担心…谢谢@Manjuboyz…!这实际上会因为错误而抛出错误);。
 function FormValidate() {
    alert("Validated");
  };
function FormValidate() {
    alert("Validated");
  }