如何在jquery3中使$('element')。on('load',function(){})工作?

时间:2018-08-20 05:32:26

标签: javascript jquery

我以前使用以下功能在后台加载视频(jquery 2.2.4):

function getVideo() {
    if ( $('video').length ) {
        $('video').each(function() {
            if (Modernizr.mq('(min-width: 1024px)') && $(this).children().attr('src') === undefined ) {
                var src =  $(this).children().attr("data-src");
                $(this).children().attr('src',src);
                // $('video').load()
                $('video').on('load', function(){
                  alert("Video Loaded");
                  console.log('vidload');
                });
            }
        });
    }
}

更新到jquery 3.2.1之后,我不得不将行$('video').load()更改为$('video').on('load', function(){});。但是,视频不再加载。我已经测试了代码,并且每一行都会执行到$('video').on('load', function(){});。我不知道为什么它没有加载。是否因为.on('load', function(){})属性只能访问window?如果是这样,那么如何使用document属性来加载视频?

PS:这不是why $(window).load() is not working in jQuery?jQuery on load not firing (not Ajax)

的副本

编辑1: @Cool JK @Alive to Die这是Drupal页面。因此,本身并没有手动编写一个特定页面的直接HTML。但是,该特定块的主题中的标记为: $variables['video_markup'] = '<video autoplay loop muted id="bgvid"><source data-src="'.$video_link.'" type="video/mp4"></video>';

大致翻译为:

<video autoplay="" loop="" muted="" id="bgvid" data-video="0"><source data-src="https://somevideo" type="video/mp4"></video>

我一直在此定位此video元素。

@Phil如果不是这种情况,那么jquery3中.load()的确切含义是什么?

@dysfunc感谢您的尝试。但是,对于我来说,这是行不通的。

编辑2:我降级到jQuery2来解决我的问题。

0 个答案:

没有答案