代码之家  ›  专栏  ›  技术社区  ›  Steven

是否有一个Javascript/jQuery<img/>的标准尚未放在文档中?

  •  0
  • Steven  · 技术社区  · 15 年前

    如果图像标签只是那些尚未插入到文档中的死板Javascript元素之一,那么浏览器如何处理图像加载呢?举个例子:

    $('<img src="/path/to/image.jpg" />')
    

    是否有一个规范告诉图像加载?我之所以这么问是因为我对以下实现感兴趣:

    1. 缩略图上的鼠标悬停事件会触发要加载的较大预览图像。
    2. 较大的预览图像加载并触发加载事件,此时它覆盖在原始mouseover元素的顶部。

    实现(2)并不难,但我想确定我可以依靠 load 跨浏览器的事件。我在Firebug和Chrome控制台上试过,它似乎工作得很好,但是我还没有遇到一个规范告诉我它总是可以工作的。我不会把它放在一个浏览器之外,拒绝加载一个还没有放在浏览器中的图像 document .

    1 回复  |  直到 15 年前
        1
  •  2
  •   Josh Stodola    15 年前

    这个 load 事件应该在现代浏览器中始终如一地触发。您可能会遇到过时浏览器(IE6之前)的问题。我必须推荐的一件事是您分配一个load事件处理程序 之前 设置 src

    $("<img />").load(function() {
      alert("Loaded!");
      $(this).css("border", "solid 2px black").appendTo("body");  
    }).src("/path/to/image.jpg");