флэш-элемент внутри href - PullRequest
2 голосов
/ 16 августа 2011

Использование следующего кода:

<a href="/someurl">
  <div class='mydiv' 
   onMouseOver="document.getElementById('myid').sendEvent('play');"
   onMouseOut="document.getElementById('myid').sendEvent('stop');">
    <div id='myid'></div>
    <script type="text/javascript">
      flashplayer.init('myid');
    </script>
  </div>
</a>

Триггеры play () и stop () работают, как и ожидалось, однако href мало что делает, так как событие click отправляется во flashplayer, а непо гиперссылке.

У меня есть несколько таких flashplayer на странице, и я пытаюсь найти способ «активировать» href onClick и соблюдать URL, указанный в конструкции <a href="">.В частности, это в IE8, я борюсь.

Как я могу сделать это, используя html / javascript?

* Edit :

После того, как пришелпо событию javascript onclick поверх объекта flash Мне удалось приблизиться к тому, что я хочу.Используя событие onmousedown, я могу вызвать javascript при нажатии на мой оверлей div.Какой хороший общий способ прочитать URL-адрес родительского href и выполнить команду location.href='/myparenturl';" style="cursor: pointer;?

1 Ответ

1 голос
/ 16 марта 2012

Какой хороший общий способ прочитать родительский URL-адрес href и выполнить команду location.href = '/ myparenturl'; "style =" cursor: pointer;?

Зачем следить за появлением нового слова на div?Я сделал jsfiddle , демонстрирующий извлечение атрибута ссылки каждого тега привязки на странице, просто замените alert(link) на window.location(link).Вы также можете использовать getElementsByClassName вместо getElementsByTagName, если есть только некоторые ссылки, которые вы хотите исправить.

var anchors = document.getElementsByTagName('a');
for(i = 0; i <= anchors.length; i++) {
    var anchor = anchors[i],
        link = anchor.getAttribute('href'),
        div = anchor.childNodes[0];
    div.onmousedown = function() {
        alert(link);
    }
}

обновление: вставлены codeninippet

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