Добавление onclick к элементу div дает «Результат выражения» document.getElementById ('elem1') "[null] - PullRequest
0 голосов
/ 16 ноября 2010

не является объектом "в браузере Safari. Весь код

function addLinks () {
    var p0 = document.getElementById('Pic0').onclick = addLinkAction;
}

function addLinkAction () {
    var el = document.getElementById('vid0');
    el.style.display = "block";
    el.play();
}

Функции работают нормально, но Safari продолжает выдавать ошибки при отображении страницы и при каждом нажатии на ссылку. Я тестирую это только в сафари, так как это носитель только для HTML5 - iPad / iPhone. спасибо

Ответы [ 3 ]

0 голосов
/ 16 ноября 2010

если вы вызываете функцию addLinks() при загрузке / готовности документа, попробуйте добавить return false в качестве последнего оператора этой внутренней функции

function addLinks () { 
   var p0 = document.getElementById('Pic0');
   p0.onclick = function() {
      addLinkAction();
      return false;
   } 
}
0 голосов
/ 16 ноября 2010

Попробуйте это:

function addLinks () {
  var p0 = document.getElementById('Pic0').onclick = function () {
    var el = document.getElementById('vid0');
    el.style.display = "block";
    el.play();
  }; 
}
0 голосов
/ 16 ноября 2010

Убедитесь, что элемент существует. Когда вы вызываете addLinks, делайте это на DOM ready или window.onload = function(){}. В качестве альтернативы, поместите скрипт перед тегом end body.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...