简体   繁体   English

.addEventListener不起作用

[英].addEventListener not working

My code is fairly simple. 我的代码很简单。 The .addEventListener isn't working for 'click' or 'change.' .addEventListener不适用于“点击”或“更改”。 I had to put "onclick" inside my HTML but, as far as I know, there's no 'onChange' event in HTML. 我必须在HTML内放置“ onclick”,但据我所知,HTML中没有“ onChange”事件。 I'm trying to make a custom video player but the seek slider isn't working out. 我正在尝试制作自定义视频播放器,但搜索滑块无法正常工作。 I was wondering how I could make .addEventListener work? 我想知道如何使.addEventListener工作? (ps, it hadn't worked before this question either) HTML: (ps,在这个问题之前也没有用)HTML:

<div id="video_player_box">
            <video id="my_video" controls autoplay>
                <source src="/videos/video.mp4">
            </video>
            <div id="video_control_bar">
                <button id="playpausebutton" onclick="playPause()">Pause</button>
                <input id="seekslider" type="range" min="0" max="100" value="0" step="1">
            </div>
        </div>

and JS: 和JS:

var vid, playBtn, seekslider;

            function initPlayer() {
                vid = document.getElementById("my_video");
                playBtn = window.getElementById("playpausebutton");
                seekslider = window.getElementById("seekslider");

                seekslider.addEventListener("change", vidSeek, false);
            }

            window.onload = initPlayer;

            function playPause() {

                if (vid.paused) {
                    vid.play();
                    playBtn.innerHTML = "Pause";
                } else {
                    vid.pause();
                    playBtn.innerHTML = "Play";
                }
            }
            function vidSeek() {
                var seekTo = vid.duration * (seekslider.value / 100);
                vid.currentTime = seekTo;
            }

fix your js code with this code: 使用以下代码修复您的js代码:

var vid, playBtn, seekslider;

        function initPlayer() {
            vid = document.getElementById("my_video");
            playBtn = document.getElementById("playpausebutton");
            seekslider = document.getElementById("seekslider");
            seekslider.addEventListener("change", vidSeek, false);
        }

        window.onload = initPlayer;
        function playPause() {
            if (vid.paused) {
                vid.play();
                playBtn.innerHTML = "Pause";
            } else {
                vid.pause();
                playBtn.innerHTML = "Play";
            }
        }

        function vidSeek() {
            var seekTo = vid.duration * (seekslider.value / 100);
            vid.currentTime = seekTo;
        }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM