【问题标题】:JavaScript onchange attr event for imgimg 的 JavaScript onchange attr 事件
【发布时间】:2013-10-15 08:27:08
【问题描述】:

没有 jQuery,只有 JavaScript。我正在使用prototype.js,但在文档中找不到我该怎么做。

我有 img 元素,以及一些改变 attr src 的事件,所以我的代码是:

document.getElementById('image').addEventListener('change', myFunction(), false);

但此解决方案不适用于 img 元素!

【问题讨论】:

  • 您的图像元素是否真的有一个分配给它的 ID,称为“图像”?请提供更多真实代码。
  • 是的,document.getElementById('image').setAttribute('color', 'red');工作正常。
  • @LubomurMarshal 我不认为 img 元素支持 onchange 事件,而不是你可以使用 onload 事件。
  • IIRC 只有 input/select/textarea 元素有 onchange 事件?
  • 每当图像发生变化时,它都会被加载,所以使用 load 事件绑定它。由于change 事件支持表单元素(IIRC)

标签: javascript html


【解决方案1】:

img 标记不能使用change 事件。

change 事件为 <input>, <select>, and <textarea> 触发 元素值的更改由 用户。

所以尝试这样,每当图像发生变化时,它就会被加载,所以使用 load 事件绑定它。

【讨论】:

  • 行了! document.getElementById('image').addEventListener('load', qwe, false);
  • @LubomurMarshal 我很高兴能帮上忙 :)
【解决方案2】:

我也在尝试使用 img onchange 移动旧的 IE 解决方案,该解决方案用于检测图像的 src 属性的更改就好了。

然而,这里的load 事件解决方案(在Detect a img src change 中也是如此)虽然非常适合检测对新图像的更改,但不幸的是,如果您设置src='' [编辑:HTML5 不允许为空,我已更改为使用 src='data:null'](我猜是因为没有要加载的图像)。这对我来说是一个真实的案例(用户可以选择“无图像”),我仍然想更改alttitle 之类的属性。仅供参考。

【讨论】:

    猜你喜欢
    • 2014-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多