2012-10-01 33 views
12

Tôi có thẻ html5 video được nhúng trên trang. Tôi cần kích hoạt một hành động khi người dùng nhấp vào nút "Phát". Nhưng tôi không thể tìm ra cách liên kết điều đó với hành động của mình. Có một sự kiện cho những gì tôi cần không? Tôi đang sử dụng jQuery ...Sự kiện phát trên yếu tố video html5 là gì?

Cảm ơn!

+0

Nhưng bạn muốn kích hoạt sự kiện mới trên nút nhấp chuột? Hoặc bạn muốn liên kết với sự kiện 'play' của'

Trả lời

21

Trang demo W3C này có hữu ích không? http://www.w3.org/2010/05/video/mediaevents.html Có vẻ như sự kiện phát chỉ đơn giản là 'phát'.

Ví dụ:

$('video').bind('play', function (e) { 
    // do something 
}); 

hoặc

$('video').on('play', function (e) { 
    // do something 
}); 
5

tôi đã sử dụng mã từ các page sau và lột nó:

<script language="javascript"> 
    document.addEventListener("DOMContentLoaded", init, false); 

    function init() { 
     var _video = document.getElementById("video"); 
     _video.addEventListener("playing", play_clicked, false); 
    } 

    function play_clicked() { 
     alert("play was clicked"); 
    } 
</script> 

<video id='video' 
    controls preload='none' 
    poster="http://media.w3.org/2010/05/sintel/poster.png"> 
    <source id='mp4' 
    src="http://media.w3.org/2010/05/sintel/trailer.mp4" 
    type='video/mp4'> 
    <p>Your user agent does not support the HTML5 Video element.</p> 
</video> 

Hy vọng tôi có thể giúp.

+0

Trang demo trong câu trả lời của bạn khá thú vị và hiển thị các sự kiện và dữ liệu có thể được thu thập từ trình phát video. –

2

Sự kiện HTML5 có sự kiện onplay mà bạn có thể gọi không yêu cầu thêm người nghe. Nếu bạn không muốn sử dụng JQuery, đây là cách làm việc với javascript thuần túy.

var myVid = document.getElementById('videoId');  
if(myVid != null)//if possibility of no video loaded in DOM 
{ 
    myVid.onplay = function() { 
     //do something 
    }; 
} 
Các vấn đề liên quan