我正在写一个
HTML5应用程序,我正在尝试访问本机视频方法(播放,暂停等…)并使用jQuery.我不想使用任何其他插件.
var movie = $('#video_with_controls'); $('#buttonX').click(function() { movie.play(); });
Object has no method 'play'
我该如何解决?谢谢.
解决方法
HTML5视频DOM元素确实有
.play()方法. jQuery
yet中没有play方法.你做错了是从jQuery选择器触发游戏,返回元素数组.
例如$(‘#clip’)返回[< video width =“390”id =“clip”控件> …< / video>]实际上是一个DOM元素的数组.要访问实际的DOM元素,您需要通过执行类似$(‘#clip’)[0]的操作来解决其中一个数组元素.现在您可以将此DOM元素告诉PLAY.
所以这样做:
var movie = $('#video_with_controls'); $('#buttonX').click(function() { movie[0].play(); //Select a DOM ELEMENT! });
这是我的例子:
HTML:
<video width="390" id="clip" controls=""> <source src="http://slides.html5rocks.com/src/chrome_japan.webm" type="video/webm; codecs="vp8,vorbis""> </video> <input type="button" id="play" value="PLAY" />
jQuery的
$('#play').click(function(){ $('#clip')[0].play() });