我想将myVideo元素作为play()函数中的参数传递,但它不起作用? (它会自动播放视频而且eventListener不再有效)
如果我在函数中直接使用元素,它就可以工作。所以我想知道是否有可能将DOM元素作为参数传递,如果是这样的话,它就会被使用
以下是代码:
{{1}}
答案 0 :(得分:1)
playButton.addEventListener('click', function(){play(myVideo)})
您需要传递一个函数,而不是传递函数的结果。 JavaScript具有一流的功能,所以习惯这件事。
答案 1 :(得分:0)
const myVideo = document.querySelector(".player__video");
const playButton = document.querySelector(".player__button");
console.log(myVideo);
function play(video) {
if (video.paused) {
video.play();
} else {
video.pause();
}
}
playButton.addEventListener('click', () => play(myVideo) );
会奏效。 addEventListener需要第二个参数作为Function,但是您将值传递为undefined。