Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Use jQuery to control video tag

So, I want to use a jQuery function to collect a URL from a link's REL, and pass it to a element.

Collecting the REL and sending it to the is no problem... but what's required to trigger the element's load and play functions, from jQuery?

Here's what I have so far:

$(function(){   
    $('a.componentLink').click(function() {
        event.preventDefault();
        var vidURL = $(this).attr('rel');
        $('#myVideo > source').attr('src', vidURL);
        $('#myVideo').load();
        $('#myVideo').play();
    })
});

ATM, it doesn't play... I assume jQuery doesn't natively have access to the play function... but there must be a way around that.

like image 912
Benjamin Allison Avatar asked Oct 30 '10 16:10

Benjamin Allison


Video Answer


1 Answers

You need to call .play() on the element itself, not on the jQuery selection. Do the following:

$(function(){   
    $('a.componentLink').click(function() {
        event.preventDefault();
        var vidURL = $(this).attr('rel');
        $('#myVideo').attr('src', vidURL);
        var video = $('#myVideo').get(0);
        video.load();
        video.play();
    })
});
like image 91
lonesomeday Avatar answered Sep 27 '22 23:09

lonesomeday