繁体   English   中英

Noob尝试js和html编码…却惨败

[英]Noob attempting js and html coding…and failing miserably

HTML:

<!DOCTYPE html>
<html>
<head>

<SCRIPT language="JavaScript" src="mapbody.js"></SCRIPT> 
</head>
<body>

  <A HREF="javascript:a_message()">Click for a message..</A> 

</body>
</html>

mapbody.js:

function a_message()
{
alert('I came from an external script! Ha, Ha, Ha!!!!');
} 

当我拉起网页并单击链接时,没有任何反应。 这两个文件都在同一文件夹中。 我想念什么?

几件事:

  1. HTML元素应全部为小写。
  2. script -tag中的language -attribute已过时。 请改用type="text/javascript"
  3. JavaScript函数调用应该进入onclick属性,而不是href

正确的实现可能如下所示:

<!DOCTYPE html>
<html>
<head>
<title>Is required!</title>
<script type="text/javascript" src="mapbody.js"></script> 
</head>
<body>
  <a onclick="a_message();" href="#">Click for a message..</a> 
</body>
</html>

同样,使用onclick (或任何其他onXX )将函数调用绑定到HTML元素是过时的。 类似于jQuery的库,使您能够使用CSS选择器来绑定某些HTML元素上的动作,从而实现HTML和JavaScript的完全分离。

<!DOCTYPE html>
<html>
    <head>
        <title>...</title>
    </head>
    <body>
        <a href="#" onclick="a_message();">Click for a message..</a> 
        <script type="text/javascript" src="mapbody.js"></script>
    </body>
</html>

Lukas Knuth比我快。 :)

适用于我(Firefox 8): http : //jsfiddle.net/FCXxU/

脚本的网址是否正确?

一种简单的检查方法是添加一个alert('test'); 在mapbody.js的开头(在函数之前)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM