Re: [問題] javascript有關setTimeout()這個函數

看板Web_Design作者 ( ^-^)時間19年前 (2006/01/04 10:02), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串8/9 (看更多)
寫成函式比較容易懂 至於為什麼原本的方法放到 onclick 裡面就不行了呢? 因為在html裡並沒有處理 escape(就是加反斜線) 這回事 所以 \" 是行不通的(\會被忽略而"會被直接解釋為雙引號) 不過一但裡面的 javascript 被執行了,反斜線還是會被處理 所以把裡面所有雙引號 " 用單引號 ' 代替再補上適當的反斜線就可以了 值得一提的是反斜線本身也可以被 escape <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=big5;"/> <title></title> </head> <body> <script type="text/javascript"> </script> <input type="button" value="按我" onclick="this.value='等一下..'; setTimeout('document.write(\'喔喔~~ \\\'我被按了\\\'\');', 1000);"/> </body> </html> 範例 http://0rz.net/b70Yt ※ 引述《hwakeye (hwakeye)》之銘言: : ※ 引述《LMY8684 (LMY)》之銘言: : : 我發覺為什麼不行了 : : 因為這個函式我放到onclick=""裡面 : : 請問一下醬子該怎麼辦呢QQ : 改成用函式呼叫吧 : <script type="text/javascript"> : function attack(att) { : setTimeout("document.write(\"<input type=text name='att' value=\"+att+\">點 : 的攻擊力!!<br>\");", 1000); : return true; : } : </script> : 然後就用 : onclick="javascript: attack(1);" : 類似這樣應該就OK了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.52 ※ 編輯: TKirby 來自: 140.112.30.52 (01/04 10:11)
文章代碼(AID): #13kooQ09 (Web_Design)
討論串 (同標題文章)
文章代碼(AID): #13kooQ09 (Web_Design)