簡體   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