Javascript 单击SeekBar时,Video.js无法暂停视频

Javascript 单击SeekBar时,Video.js无法暂停视频,javascript,video.js,Javascript,Video.js,我试图创建一个视频,如果用户点击SeekBar,它会记录当前时间,并暂停点击事件的视频 问题是当我点击seekbarplayer时,pause()总是未定义的。如何在下面的代码中包含这一点 JS-Bin videojs(“播放器”).ready(函数(){ var player=这个; player.controlBar.progressControl.seekBar.on('mouseup',函数(事件){ var seekBarEl=this.el(); var seekBarRect=

我试图创建一个视频,如果用户点击SeekBar,它会记录当前时间,并暂停点击事件的视频

问题是当我点击seekbar
player时,pause()
总是未定义的。如何在下面的代码中包含这一点


JS-Bin
videojs(“播放器”).ready(函数(){
var player=这个;
player.controlBar.progressControl.seekBar.on('mouseup',函数(事件){
var seekBarEl=this.el();
var seekBarRect=videojs.dom.getBoundingClientRect(seekBarEl);
var seekBarPoint=videojs.dom.getPointerPosition(seekBarEl,event).x;
var duration=player.duration();
var seekBarClickedTime=videojs.formatTime(seekBarPoint*持续时间,持续时间);
log('Seekbar clicked time:',seekBarClickedTime);
player.pause();
console.log(player.pause());
});
});

记录
player.pause()
时,未定义的
没有任何错误。它只是意味着
pause
方法不会
返回任何内容。要使
.pause()
工作,可以从
setTimeout
函数内部调用它。这样做会将您的函数添加到
事件队列
,并在
播放器
s original
mouseup
处理程序之后调用该函数:


JS-Bin
videojs(“播放器”).ready(函数(){
var player=这个;
player.controlBar.progressControl.seekBar.on('mouseup',函数(事件){
var seekBarEl=this.el();
var seekBarRect=videojs.dom.getBoundingClientRect(seekBarEl);
var seekBarPoint=videojs.dom.getPointerPosition(seekBarEl,event).x;
var duration=player.duration();
var seekBarClickedTime=videojs.formatTime(seekBarPoint*持续时间,持续时间);
log('Seekbar clicked time:',seekBarClickedTime);
setTimeout(()=>player.pause(),0);
console.log(player.pause());
});
});

你能告诉我为什么我需要使用setTimeout让它工作吗?