通过javascript更改html <input />图像,无法调用方法addEventListener

时间:2014-03-11 08:57:23

标签: javascript html5 addeventlistener

点击时我试图通过javascript更改输入图片,但我通过Google Chrome调试得到以下错误:

Uncaught TypeError: Cannot call method 'addEventListener' of undefined 

以下是我的HTML代码:

<section id="skin">
<video id="mainPlayer" width="640" height="360">
    <source src="video.mp4">
</video>
<nav>
    <div id="buttons">
        <input type="image" src="play_button.png" id="playButton" width="22" height="22">
    </div>
    <div id="defaultBar">
        <div id="progressBar"></div>
    </div>
    <div style="clear:both"></div>
</nav>

这是我的javascript代码:

function doFirst() {
    mainPlayer = document.getElementById('mainPlayer');
    playButton = document.getElementsByName('playButton')[0];

    playButton.addEventListener('click', playOrPause, false);
}

function playOrPause() {
    if (!mainPlayer.paused && !mainPlayer.ended) {
    mainPlayer.pause();
    playButton.src="controls.png";
    window.clearInterval(updateBar);
} else {
    mainPlayer.play();
    playButton.src="play_button.png"
    updateBar = setInterval(update, 500);
    }
}

window.addEventListener('load',doFirst,false);

1 个答案:

答案 0 :(得分:0)

playButton = document.getElementsByName('playButton')[0];你会在这里得到一个空数组

您需要在输入标记中添加name属性或更改为

playButton = document.getElementById('playButton');