下面是一個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