Javascript 如果加载后发生附加事件,确保在jQuery事件中触发加载代码

Javascript 如果加载后发生附加事件,确保在jQuery事件中触发加载代码,javascript,jquery,javascript-events,Javascript,Jquery,Javascript Events,我试图找出如何最好地将加载事件附加到元素,但请确保它运行。当我绑定到img的load事件时,问题就出现了,但是绑定发生得太晚,并且映像已经加载。jQuery中是否有方法检查图像是否已加载 这显然是一个间歇性的问题,因为有时代码在加载映像之前运行,有时则不是 $(function () { var hasRun = false; $('#image').bind('load', function () { if ($(this).width() <= 0 |

我试图找出如何最好地将加载事件附加到元素,但请确保它运行。当我绑定到img的load事件时,问题就出现了,但是绑定发生得太晚,并且映像已经加载。jQuery中是否有方法检查图像是否已加载

这显然是一个间歇性的问题,因为有时代码在加载映像之前运行,有时则不是

$(function () {
    var hasRun = false;

    $('#image').bind('load', function () {
        if ($(this).width() <= 0 || $(this).height() <= 0 || hasRun) return;
        hasRun = true;
        // do work here
    }).trigger('load');
});
$(函数(){
var hasRun=false;
$('#image').bind('load',function(){
如果($(this).width()您可以使用和
完成此操作,如下所示:

$('#image').one('load', function () {
    if ($(this).width() <= 0 || $(this).height() <= 0 || hasRun) return;
    hasRun = true;
    // do work here
}).each(function() {
  if(this.complete) $(this).trigger('load');
});
$('#image')。一('load',函数(){

if($(this).width()this.complete正是我想要的!谢谢!太棒了。解决了一个我已经研究了几个小时的问题。谢谢!