Firefox没有注册onclick事件处理程序

以下是用于为onclick事件分配事件处理程序的两段代码。 版本一在IE,FF,Safari和Chrome中运行。 第二版可在IE,Safari和Chrome中使用,但不适用于FF。 在版本1中,我在标记中注册事件处理程序。 在版本2中,我使用了一个更新的,并且更可靠的方法来注册事件处理程序。

使用萤火虫,它看起来像onclick事件处理程序没有得到注册,但我不明白为什么不。 任何想法赞赏。 谢谢。

***************  Version One  ******************************
< script type="text/javascript">

function handler()
{
    // do something here
}

</script>

< a id="playerFive" class="player" onclick="handler()">
    < img src="./images/speakerIcon25pxFFF4E0.png" alt=""/>
</a>
************************************************************


***************  Version Two  ******************************
< script type="text/javascript">

function handler()
{
    // do something here
}

</script>

< a id="playerFive" class="player">
    < img src="./images/speakerIcon25pxFFF4E0.png" alt=""/>
</a>

< script type="text/javascript">

playerFive.onclick = handler;

< /script>
************************************************************

FF不允许您将DOM元素作为由其ID标识的JavaScript变量来访问。

您需要改用getElementById


在上一个脚本块中, playerFive从未在任何地方定义过,您可能需要

document.getElementById('playerFive').onclick=handler;

你可以试试这个代码

 if(document.all)// For IE
 {   
       document.getElementById('playerFive').attachEvent('onclick',handler);
 }
 else // For FF
 {
       document.getElementById('playerFive').addEventListener('click',handler,false);
 }
链接地址: http://www.djcxy.com/p/88929.html

上一篇: Firefox not registering onclick event handler

下一篇: Why Won't Tabindex Work with Firefox?