HTML / Javascript回调未执行

时间:2011-08-15 03:33:18

标签: javascript

HTML表单显示但javascript回调未执行。 (以及如何组合成一个文件?)

THX

<html>
<head>
<title> Mouse click test</title>
</head>
<body>
<h1>Mouse Click Test</h1>
<p>Click the mouse on the test link below. A message below will indicate which button was clicked.</p>
<h2><a href = "#" id = "testlink">Test Link</a></h2>
<form name = "form1">
<textarea rows = "10" cols = "70" name = "info"></textarea>
</form>
<script  type = "text/javascript" scr = "click.js">
</script>
</body>
</html>

function mousestatus(e){
    document.write("hello");
    if (!e) e = window.event;
    btn = e.button;
    whichone = (btn < 2) ? "Left" : "Right";
    message = e.type + " : " + whichone + "\n";
    document.form1.info.value += message;
}  
obj = document.getElementById("testlink");
obj.onmousedown = mousestatus;
obj.onmouseup = mousestatus;
obj.onclick = mousestatus;
obj.ondblclick = mousestatus;

2 个答案:

答案 0 :(得分:2)

<script>代码的属性为src,而非scr。这样:

<script  type = "text/javascript" scr = "click.js">

应该是:

<script type="text/javascript" src="click.js">

摆脱document.write来电,document.write将:

  

写入已加载但未调用document.open()的文档将自动执行document.open调用。

document.open

  

如果目标中存在文档,则此方法会清除它。

所以除了内联document.write之外的任何地方调用<script>都会在插入新内容之前删除所有内容;关于你应该使用document.write的唯一时间是这样的:

<p>Where is <script type="text/javascript">document.write('pancakes')</script> house?</p>

您通常使用console.log('...')console.debug('...')来快速调试消息(假设您使用的是带控制台的浏览器并且您打开了控制台)。

一旦你处理好这些问题,你应该做一些比投掷错误更有趣的事情(或根本不做任何事情):http://jsfiddle.net/ambiguous/5kHVy/

您可能想要阅读较新的事件处理接口(例如addEventListener)。

答案 1 :(得分:0)

不应该是src =“click.js”吗?

<script  type = "text/javascript" scr = "click.js">
                                  ^^^