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
