2016-04-08 3 views
0

Итак, я получаю эту ошибку прямо здесь, и я не совсем понимаю, что это значит.Javascript Code error video click

video_click.js: 20 Uncaught TypeError: Не удается прочитать свойство 'addEventListener' нулевых

Вот Javascript код, я использую

var v = document.getElementById('videoPlayer'); 
v.addEventListener(
'play', 
function() { 
    v.play(); 
}, 
false); 

v.onclick = function() { 
if (v.paused) { 
    v.play(); 
} else { 
    v.pause(); 
} 

return false; 
}; 

var a = document.getElementById('videoPlayer2'); 
a.addEventListener(
'play', 
function() { 
    a.play(); 
}, 
false); 

a.onclick = function() { 
if (a.paused) { 
    a.play(); 
} else { 
    a.pause(); 
} 

return false; 
}; 

Может кто-то помочь мне понять, что я делаю неправильно.

Спасибо, Камаль

ответ

0

document.getElementById возвращает нуль, если он не может найти элемент с заданным идентификатором. Основываясь на номере строки в сообщении об ошибке, он выглядит как var a = document.getElementById('videoPlayer2');, в результате a присваивается значение null. Поэтому, когда вы пытаетесь вызвать a.addEventListener на следующей строке, это не работает, потому что вы не можете позвонить addEventListener по null.

Итак, похоже, что в вашем документе нет элемента с идентификатором videoPlayer.

+0

Спасибо, я понимаю, что я делаю неправильно. Как я могу это исправить? –

+0

Ну, это действительно зависит от того, почему он не может найти 'videoPlayer2'. Если вы только что ошибочно указали идентификатор этого элемента (например, вместо него должен быть «videoplayer2»), то исправление опечатки устранит проблему. Если полностью ожидать, что в некоторых случаях не будет элемента с идентификатором 'videoPlayer2', вы можете просто проверить, чтобы убедиться, что' a' не является нулевым, прежде чем пытаться вызвать 'a.addEventListener' и' a. onclick'. Поэтому после того, как вы назначили 'a', вы можете сделать' if (a! == null) {', а затем поместить остальную часть кода, которая работает на' a' внутри этого блока. – Elezar

+0

Работайте идеально. благодаря –