【问题标题】:jQuery bind("load")jQuery 绑定(“加载”)
【发布时间】:2011-04-28 00:09:41
【问题描述】:
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 加载事件从未触发。

【问题讨论】:

  • 你能告诉我你是否在实际设置图像源之前尝试绑定事件?
  • 我回复了下面的答案

标签: javascript jquery


【解决方案1】:

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

附带说明,您需要注意图像上的加载事件的已知问题:

并且,引用jQuery manual on load():

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 哈哈,我遇到了类似的问题。
    猜你喜欢
    • 1970-01-01
    • 2018-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多