下面是一个onclick事件分配一个事件处理程序的代码的两个剪。版本一在IE,FF,Safari和Chrome中运行。第二版可在IE,Safari和Chrome中使用,但不适用于FF。在版本1中,我在标记中注册事件处理程序。在版本2中,我使用了一个更新的,并且更可靠的方法来注册事件处理程序。火狐不注册onclick事件处理程序
用Firebug,它看起来就像是没有得到注册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> ************************************************************
其实你的第二个版本是一样的第一个。它不是“新的”或“更稳健”,您只需通过JavaScript设置监听器,而不是标记。新的方法是使用'addEventListener'。实用信息:http://www.quirksmode.org/js/events_advanced.html – 2010-10-14 06:34:37