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;
答案 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.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">
^^^