【发布时间】:2020-01-25 02:07:12
【问题描述】:
在我看来,我正在展示一张图片:
<img src="https://some-host/img1.jpg" onerror="showNoPhotoIcon(this);">
我在一个名为 common.js 的单独文件中定义了函数 showNoPhotoIcon
/*========== when image is not available ==========*/
function showNoPhotoIcon(image) {
image.onerror = "";
image.src = '/images/no-photo-icon.jpg'
return true;
}
我从我的视图中引用 common.js,以下行在我的视图(html 页面)的最底部
<script src="/Scripts/app/common.js"></script>
但是从视图中无法访问该函数,当图像丢失时,代码尝试调用showNoPhotoIcon 函数,我收到以下错误:
未捕获的 ReferenceError:未定义 showNoPhotoIcon
更新1:
收到错误后,我尝试确认该函数是否已定义 => 是否已定义。
更新2:
这似乎是时间问题,因为有时有效,有时无效。
【问题讨论】:
-
您的代码可能试图在您正在加载 common.js 的代码上方调用
showNoPhotoIcon -
改用事件监听器?而不是把js放在一个属性里面?
-
@JaromandaX:是的,我相信是这样......但我被告知最好将所有 css 文件添加到 html 和 .js 文件的顶部......
-
@evolutionxbox - 不一定要及时添加事件监听器来处理错误事件
-
@JaromandaX aw poo...如果它是在页面事件期间创建的,比如 dom 准备好怎么办?
标签: javascript html ajax asp.net-mvc