利用onerror 事件处理img标签中的src图片加载失败

简介: 利用onerror 事件处理img标签中的src图片加载失败

如果 img标签中的src图片logo.png加载失败,原来的图片位置会被error.png 替换

<img src="logo.png" onerror="handleImageError()" />
<script type="text/javascript">
  function handleImageError() {
    console.log(event);
    var img = event.target;
    img.src = "error.png";
    // 控制它不循环;
    img.onerror = null;
  }
</script>

如果logo.png不存在会触发 onerror事件,指定图片error.png 去替补,

如果替补图片error.png 还不存在,还会继续触发onerror事件,

需要使用img.onerror=null 取消事件处理

Vue处理方式

<template>
  <img v-bind="$attrs"
    v-on="$listeners"
    @error="handleError" />
</template>
<script>
/**
 * 有错误处理的图片
 */
export default {
  name: "MoImage",
  data() {
    return {
      // 默认值
      defaultImage: require("@/assets/image/image-default.png"),
    };
  },
  methods: {
    // 错误值处理
    handleError(event) {
      event.target.src = this.defaultImage;
      // 控制不要一直跳动
      event.target.onerror = null;
    },
  },
};
</script>

参考

img标签的onerror事件

相关文章
|
前端开发 JavaScript API
vue3-ts-storybook:理解storybook、实践 / 前端组件库
vue3-ts-storybook:理解storybook、实践 / 前端组件库
964 0
|
4月前
|
传感器 算法 物联网
室内定位无线技术的分类和原理全解析(一)
室内定位无线技术通过射频、声波、光信号等解决卫星信号无法覆盖的盲区,实现人员、物资精准定位。主流技术分射频、声波、光学及新兴四大类,涵盖蓝牙、UWB、Wi-Fi、红外、可见光、毫米波等,适用于工业、医疗、园区等多场景,各具精度、成本与部署优势。
|
时序数据库
influxDB时序数据库2.0FLUX查询语法使用记录
influxDB时序数据库2.0FLUX查询语法使用记录
|
存储 前端开发 JavaScript
rsa前端加密后端解密的使用
rsa前端加密后端解密的使用
692 0
|
前端开发 JavaScript 程序员
HBuilderX使用mac打包ios应用提示苹果根证书没有安装
HBuilderX使用mac打包ios应用提示苹果根证书没有安装
586 0
|
Java 关系型数据库 MySQL
基于Java的校园点餐系统的设计与实现(论文+源码)_kaic
基于Java的校园点餐系统的设计与实现(论文+源码)_kaic
|
安全 网络协议 网络安全
|
存储 Cloud Native 关系型数据库
云原生|kubernetes|部署MySQL一主多从复制集群(基于GTID的复制)
云原生|kubernetes|部署MySQL一主多从复制集群(基于GTID的复制)
420 0
|
机器学习/深度学习 缓存 物联网
AIGC Stable Diffusion文生图Lora模型微调实现虚拟上装
在本教程中,您将学习如何在阿里云交互式建模(PAI-DSW)中,基于Diffusers开源库进行AIGC Stable Diffusion模型的微调训练,以及基于Stable-Diffusion-WebUI开源库启动WebUI进行模型推理。
|
JavaScript 前端开发 Linux
[Node] Node.js Webpack和打包过程(一)
[Node] Node.js Webpack和打包过程(一)
480 0

热门文章

最新文章