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