Javascript 未捕获引用错误:[函数名称]未定义

Javascript 未捕获引用错误:[函数名称]未定义,javascript,html,Javascript,Html,我有一个上传文件按钮 注意:onclick=“getFile()” 因此,单击btn时将调用getFile()函数 HTML JS 我已尝试将所有JS代码放在$(window.load(function(){})中 我的控制台不断出现错误,比如uncaughtreferenceerror:getFile未定义 为什么会这样,我该如何修复它 如果需要,我已经准备好了。删除$(窗口)。加载处理程序,使函数在全局范围内,它将工作 当函数位于load处理程序内时,它仅位于该作用域的本地,不能从要

我有一个上传文件按钮

注意
onclick=“getFile()”

因此,单击btn时将调用
getFile()
函数


HTML
JS
我已尝试将所有JS代码放在
$(window.load(function(){})中

我的控制台不断出现错误,比如
uncaughtreferenceerror:getFile未定义

为什么会这样,我该如何修复它

如果需要,我已经准备好了。

删除
$(窗口)。加载
处理程序,使函数在全局范围内,它将工作

当函数位于
load
处理程序内时,它仅位于该作用域的本地,不能从要求函数位于全局作用域的内联处理程序访问

还请注意,除非将左侧的下拉列表更改为“nowrap in***”
,否则JSFIDLE会将函数包装在它自己的
onload
处理程序中

您应该改用jQuery的事件处理程序。

删除
$(窗口)。加载
处理程序,使函数在全局范围内,并且它将工作

当函数位于
load
处理程序内时,它仅位于该作用域的本地,不能从要求函数位于全局作用域的内联处理程序访问

还请注意,除非将左侧的下拉列表更改为“nowrap in***”
,否则JSFIDLE会将函数包装在它自己的
onload
处理程序中

您应该改用jQuery的事件处理程序。

删除
$(窗口)。加载
处理程序,使函数在全局范围内,并且它将工作

当函数位于
load
处理程序内时,它仅位于该作用域的本地,不能从要求函数位于全局作用域的内联处理程序访问

还请注意,除非将左侧的下拉列表更改为“nowrap in***”
,否则JSFIDLE会将函数包装在它自己的
onload
处理程序中

您应该改用jQuery的事件处理程序。

删除
$(窗口)。加载
处理程序,使函数在全局范围内,并且它将工作

当函数位于
load
处理程序内时,它仅位于该作用域的本地,不能从要求函数位于全局作用域的内联处理程序访问

还请注意,除非将左侧的下拉列表更改为“nowrap in***”
,否则JSFIDLE会将函数包装在它自己的
onload
处理程序中


您应该改用jQuery的事件处理程序。

onXyz
属性样式处理程序调用的函数必须是全局函数,但是
getFile
函数不是全局函数,只能从
load
回调中访问。(这是好事。全局是件坏事。)

您最好的选择是从
load
(对于
sub
)中连接处理程序:


主题,但您也可以考虑使用除<代码> $(window)之外的其他内容(加载)(<…)>代码>,它在页面加载过程中发生<强>非常/强>较晚。如果您控制

脚本
标记的位置,只需将
脚本
标记放在文件的最末尾,就在关闭
标记之前,然后更改

$(window).load(function() {
    // ...
});

如果您无法控制
脚本
标记的位置,那么第二个最佳解决方案是使用jQuery的
就绪
回调:

$(function() {
    // ...
});

onXyz
属性样式处理程序调用的函数必须是全局函数,但
getFile
函数不是全局函数,只能从
load
回调中访问。(这是好事。全局是件坏事。)

您最好的选择是从
load
(对于
sub
)中连接处理程序:


主题,但您也可以考虑使用除<代码> $(window)之外的其他内容(加载)(<…)>代码>,它在页面加载过程中发生<强>非常/强>较晚。如果您控制

脚本
标记的位置,只需将
脚本
标记放在文件的最末尾,就在关闭
标记之前,然后更改

$(window).load(function() {
    // ...
});

如果您无法控制
脚本
标记的位置,那么第二个最佳解决方案是使用jQuery的
就绪
回调:

$(function() {
    // ...
});

onXyz
属性样式处理程序调用的函数必须是全局函数,但
getFile
函数不是全局函数,只能从
load
回调中访问。(这是好事。全局是件坏事。)

您最好的选择是从
load
(对于
sub
)中连接处理程序:


主题,但您也可以考虑使用除<代码> $(window)之外的其他内容(加载)(<…)>代码>,它在页面加载过程中发生<强>非常/强>较晚。如果您控制

脚本
标记的位置,只需将
脚本
标记放在文件的最末尾,就在关闭
标记之前,然后更改

$(window).load(function() {
    // ...
});

如果您无法控制
脚本
标记的位置,那么第二个最佳解决方案是使用jQuery的
就绪
回调:

$(function() {
    // ...
});

onXyz
属性样式处理程序调用的函数必须是全局函数,但
getFile
函数不是全局函数,只能从
load
回调中访问。(这是好事。全局是件坏事。)

您最好的选择是从
load
(对于
sub
)中连接处理程序:


主题,但您也可以考虑使用除<代码> $(window)之外的其他内容(加载)(<…)>代码>,它在页面加载过程中发生<强>非常/强>较晚。如果控制

脚本
标记的位置,只需将
脚本
ta
(function() {
    // ...
})();
$(function() {
    // ...
});