href内的flash元素

时间:2011-08-16 11:40:09

标签: javascript html internet-explorer flash

使用以下代码:

<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,而不是跟随超链接。

我在页面上有几个这样的flashplayers,我正试图找到一种方法来“激活”href onClick并尊重<a href="">构造中指定的url。具体来说,它在IE8中我正在努力。

如何使用html / javascript执行此操作?

*修改

遇到javascript onclick event over flash object后,我设法接近我所追求的目标。使用onmousedown事件,我可以在单击叠加div时触发javascript。阅读父href网址并发出location.href='/myparenturl';" style="cursor: pointer;的最佳通用方法是什么?

1 个答案:

答案 0 :(得分:1)

  

阅读父href网址和问题的通用方法是什么?   location.href ='/ myparenturl';“style =”cursor:pointer; ?

为什么要在div上观看onmousedown?我做了一个jsfiddle演示了页面上每个锚标记的link属性的提取,只需用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);
    }
}

更新:插入的codesnippet