【问题标题】:rewrite onerorr function of img tag in onerror function在onerror函数中重写img标签的onerorr函数
【发布时间】:2014-07-16 13:54:26
【问题描述】:

这里我有一个标签来显示图像;
我希望它显示如下:
如果存在 1.jpg,显示 1.jpg。
else if 存在 2.jpg 显示 2.jpg
否则显示 3.jpg



它出错了;但是可以这样做吗?

【问题讨论】:

  • 您嵌套引号太多,this.src=3.jpg 最终成为语法错误。 error 事件在不显眼的事件处理中表现不佳,但它看起来是您唯一的选择。
  • this.onerror 应该设置为函数,而不是字符串。您可能希望将其设置为 JS 中的函数。

标签: javascript jquery html


【解决方案1】:

将处理程序放在单独的 JS 函数中:

function image_failover(img) {
    img.onerror = function() {
        img.src = '3.jpg';
    }
    img.src = '2.jpg;
}

<img src="1.jpg" onerror="image_failover(this)" />

使用上述函数,您可以级联任意数量的嵌套onerror 处理程序。虽然如果它变得很长,您可能应该将所有图像放在一个数组中,并且每次调用处理程序时都会增加一个索引。

【讨论】:

  • 重要的是该属性包含 Javascript 代码。转义在 JS 中起作用。
  • 嗯,看来你是对的。我已将答案更改为仅推荐单独的功能。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-01
  • 2022-01-16
  • 1970-01-01
相关资源
最近更新 更多