作者TKirby ( ^-^)
看板Web_Design
標題Re: [問題] javascript有關setTimeout()這個函數
時間Wed Jan 4 10:09:55 2006
寫成函式比較容易懂
至於為什麼原本的方法放到 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)