Javascript 未捕获类型错误:未定义不是函数(关于视频暂停函数)

Javascript 未捕获类型错误:未定义不是函数(关于视频暂停函数),javascript,jquery,html,function,Javascript,Jquery,Html,Function,我正在尝试暂停带有jQuery对象的视频,但出现了一个错误,显示: 未捕获类型错误:未定义不是函数 代码如下: function daVideos(myVideo, arrPause, _src) { $player = myVideo.get(0); $player.attr('src', _src); $player.addEventListener("timeupdate", function(event)

我正在尝试暂停带有jQuery对象的视频,但出现了一个错误,显示:

未捕获类型错误:未定义不是函数

代码如下:

    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");
函数daVideos(myVideo,arrpaise,_src)
{
$player=myVideo.get(0);
$player.attr('src',_src);
$player.addEventListener(“时间更新”,函数(事件)
{
var isPause=假;
对于(变量i=0;i=arrpaise[i]&&!isPause)
{
isPause=true;
$player.pause();
}
} 
});
}
var arr1=[2,4];
daVideos($(“#video”)、arr1、“video/sintel#u预告片-1080p.mp4”);
任何人都可以帮我说我做错了什么???

这段代码

$player = myVideo.get(0);
提供实际元素,而不是jQuery包装器。而
attr
是jQuery包装器对象的一种方法

如果要获取jQuery对象的第一个元素,但仍将其包装在jQuery中,则可以使用
eq
而不是
get

$player = myVideo.eq(0);
$player.attr('src', _src);
注意,然后您必须获取实际元素,或者在上使用
,而不是
addEventListener

或者,您可以通过以下方式完成:

$player = myVideo.get(0);
$player.setAttribute('src', _src);
让我们想想这些台词。首先,我们有一个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)

首先创建对DOM元素的引用
$player=myVideo.get(0),然后尝试调用该元素的jQuery函数…DOM元素!==jQuery对象,它们有不同的API。如果你试图使用一个作为另一个,你会得到错误。
var $player = myVideo.get(0); // note that we're using var again
$player.src = _src;
$player.addEventListener("timeupdate", function(event)