Проблемы с определением цели на клике - PullRequest
0 голосов
/ 29 ноября 2009

Я пытался и пытался ... и я не могу заставить это работать в IE (проверенная версия 6) Кто-нибудь может мне помочь? IE жалуется на ошибку, но отказывается сообщить, какая это ошибка ...

  var a = document.getElementsByTagName("a");
  for (i = 0; i < a.length; i++) {
    if (a[i].getAttribute("class") == "info-link") {
      a[i].onclick = function(e) {
        e = e || window.event;
        var target = e.srcElement || e.target;
        var info = target.parentNode.getElementsByTagName("div")[0];
        if (info.style.display == "none" || info.style.display == "") {
          info.style.display = "block";
        } else {
          info.style.display = "none";
        }
        return false;
      }
    }
  }

<div class="auxdata">
  <a href="#" class="info-link">Esta questão possuí dados anexos. Clique para ver.</a>
  <div style="display: none;" class="info-inner">
    <!-- variable stuff here -->
  </div>
</div>

Ответы [ 2 ]

0 голосов
/ 12 апреля 2010

Как сказал @ Magnar (+1), я бы включил jQuery, он прост в использовании

jQuery(elem OR "selector").click(function(e){}).

По крайней мере, вы можете заглянуть внутрь его кода и посмотреть, как он обрабатывает click ()

0 голосов
/ 29 ноября 2009

IE до версии 8 не выполнил getAttribute ('class') правильно, попробуйте прочитать свойство elements className.

Когда вы пройдете через это, проверьте, как IE читает свойство стиля. он может использовать значения стилей в нижнем регистре в источнике, например «NONE», «BLOCK».

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