jQuery绑定(“加载”)

时间:2011-04-27 15:57:56

标签: javascript jquery

var imgLoader = $("<img />");
$(imgLoader).attr("src", "http://localhost/malevil/Content/Images/img_adrenalin.jpg");

$(imgLoader).unbind('load');
$(imgLoader).bind('load', function () {
    alert("event fired");
});

但这项工作仅限于Chrome,问题出在哪里? 在IE中,Firefox和Opera加载事件从未被解雇。

2 个答案:

答案 0 :(得分:12)

您需要在设置src属性之前绑定load事件。

作为旁注,您需要注意的图像上的加载事件存在已知问题:

并引用jQuery manual on load():

  
      
  • 它不能始终如一地工作   可靠的跨浏览器
  •   
  • 没有   如果图像在WebKit中正确触发   src设置为与之前相同的src
  •   
  • 它没有正确地冒泡   DOM树
  •   
  • 可以停止拍摄图像   已经存在于浏览器中的   高速缓存
  •   

答案 1 :(得分:3)

我会在之前设置处理程序设置src属性 - 因为它可能是在设置事件处理程序之前加载图像。