<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script type="text/javascript"> function remove() { alert("remove is called."); } </script> </head> <body> <button onclick="remove()">刪除</button> </body> </html>按一下『刪除』鈕, 你可能預期會執行程式中的 remove(), 顯示訊息窗, 但實際的結果卻是『刪除』鈕不見了, 這是因為按下『刪除』後執行的是內建的 remove(), 而不是程式中所撰寫的 remove(), 而內建的 remove() 就把『刪除』鈕的 button 元素刪除了。
要解決這個問題很容易, 就是不要將 function 取名為 "remove", 不過我想應該有許多舊的網頁上都有以 remove 為名的 function, 如果剛好又是用在類似以上案例的情境下, 就會產生悲劇了!
沒有留言:
張貼留言