作者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)