如何在javascript中将DOM元素作为参数传递?

时间:2018-04-19 07:33:40

标签: javascript function dom

我想将myVideo元素作为play()函数中的参数传递,但它不起作用? (它会自动播放视频而且eventListener不再有效)

如果我在函数中直接使用元素,它就可以工作。所以我想知道是否有可能将DOM元素作为参数传递,如果是这样的话,它就会被使用

以下是代码:

{{1}}

2 个答案:

答案 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。