未捕获的TypeError: undefined不是函数(视频暂停函数)
Uncaught TypeError: undefined is not a function (on video pause function)
我正在尝试用jQuery对象暂停视频,并一直得到一个错误,说:
Uncaught TypeError: undefined is not a function
下面是代码:
function daVideos(myVideo, arrPause, _src)
{
$player = myVideo.get(0);
$player.attr('src', _src);
$player.addEventListener("timeupdate", function(event)
{
var isPause = false;
for(var i=0; i<arrPause.lenght; i++)
{
if($player.currentTime >= arrPause[i] && !isPause)
{
isPause = true;
$player.pause();
}
}
});
}
var arr1 = [2,4];
daVideos($("#video"), arr1, "video/sintel_trailer-1080p.mp4");
谁能帮我说我做错了什么??
$player = myVideo.get(0);
$player.attr('src', _src);
$player.addEventListener("timeupdate", function(event)
让我们想想这些行。首先,我们有一个jQuery对象(myVideo
)。然后我们使用get(0)
($player
)获得本机DOM对象。然后我们尝试在本机DOM对象上调用jQuery函数(attr
)(这就是错误发生的地方,因为本机DOM对象没有attr
函数)。然后,我们尝试使用本地addEventListener
系统添加一个事件。
这一切似乎有点复杂和有点混乱。简单的解决方案就是在整个过程中使用jQuery:
var $player = myVideo.get(0); // keep for later, note we're using var
myVideo.attr('src', _src);
myVideo.on('timeupdate', function(event)
另一个选择是简单地使用DOM:
var $player = myVideo.get(0); // note that we're using var again
$player.src = _src;
$player.addEventListener("timeupdate", function(event)
此代码
$player = myVideo.get(0);
给出真正的元素,而不是jQuery包装器。而attr
是一个jQuery封装对象的方法。
如果您想获得jQuery对象的第一个元素,但仍然将其包装在jQuery中,您可以使用eq
代替get
:
$player = myVideo.eq(0);
$player.attr('src', _src);
注意,你必须得到真正的元素,或者使用on
而不是addEventListener
。
或者,你也可以用vanilla-js的方式:
$player = myVideo.get(0);
$player.setAttribute('src', _src);
相关文章:
- 从 blob 加载视频预览时的 Jquery 触发器函数
- 我将如何在 jquery 中为 html5 视频制作一个 playTo() 函数
- 在 html5 视频结束时调用 AngularJS 控制器函数
- 视频HTML5的函数
- 如何为JavaScript函数设置变量以嵌入视频
- 在iPhone上,Vimeo Javascript API.play()函数没有'播放完视频后才能工作
- 借助JS/Jquery函数,通过其URL加载youtube视频
- 如何调用javascript函数,当用户单击视频播放的帧时
- jQuery:视频函数上变量的使用不正确
- Javascript函数在视频时间更新时未触发
- YouTube API 视频结束加载一个函数
- Javascript下一个视频函数
- Javascript错误:对象不是视频扑克脚本中的函数
- 在带有视频的函数中使用Canvas和Drawimage
- 两个脚本(FitVids.js,Vimeo.js)一起杀死调用一个函数来播放视频,导致:VimeoAPI不是一个函数
- 如何将JavaScript函数(canPlayType)的结果传递给HTML5视频
- 我发现如何改变html5源标签的视频源(src),但在函数内或与内联javascript得到不同的结果
- YouTube视频JavaScript停止工作,如果放入dom ready函数
- 回调函数不适合HTML5视频播放器
- 未捕获的TypeError: undefined不是函数(视频暂停函数)