Javascript onclick函数没有执行

时间:2015-09-03 23:42:58

标签: javascript events button onclick navigator

JavaScript noob在这里,我有一段简单的代码,但我调用我定义的函数的onclick事件没有执行。这是代码:

<!DOCTYPE html>
<html>
<head>
<title>
    window.navigator
    <script>
    function thankYou(){
       alert("Thanks for Checking!");
    }
    </script>    
</title>
<style>
    td{border:1px solid gray;padding:3px 5px;}
</style>
</head>
<body>
<script>
    document.write("<table>");
    document.write("<tr><td>appName</td><td>"+navigator.appName+ </td></tr>");
    document.write("<tr><td>appCodeName</td><td>"+navigator.appCodeName+"</td></tr>");
    document.write("<tr><td>appVersion</td><td>"+navigator.appVersion+"</td></tr>");
    document.write("<tr><td>language</td><td>"+navigator.language+"</td></tr>");
    document.write("<tr><td>cookieEnabled</td><td>"+navigator.cookieEnabled+"</td></tr>");
    document.write("<tr><td>cpuClass</td><td>"+navigator.cpuClass+"</td></tr>");
    document.write("<tr><td>onLine</td><td>"+navigator.onLine+"</td></tr>");
    document.write("<tr><td>platform</td><td>"+navigator.platform+"</td></tr>");
    document.write("<tr><td>No of Plugins</td><td>"+navigator.plugins.length+"</td></tr>");
    document.write("</table>");
</script>
<p>
    <input type="button" name="Thanks for checking!" value="Click me!" onClick="thankYou()"/>
</p>
</body>
</html>

任何人都可以解释我做错了什么吗?谢谢!

3 个答案:

答案 0 :(得分:2)

你有一个错字。在第一个文档写入行中缺少"。此外,脚本标记不应位于标题标记中。

document.write("<tr><td>appName</td><td>"+navigator.appName+ </td></tr>");
                                                            ^^^

答案 1 :(得分:1)

您错过了引号并需要移动脚本标记,请参阅下面的工作示例。

&#13;
&#13;
<!DOCTYPE html>
<html>

<head>
  <title>
    window.navigator
  </title>
  <style>
    td {
      border: 1px solid gray;
      padding: 3px 5px;
    }
  </style>
</head>

<body>
  <script>
    function thankYou() {
      alert("Thanks for Checking!");
    }
  </script>
  <script>
    document.write("<table>");
    document.write("<tr><td>appName</td><td>" + navigator.appName + "</td></tr>");
    document.write("<tr><td>appCodeName</td><td>" + navigator.appCodeName + "</td></tr>");
    document.write("<tr><td>appVersion</td><td>" + navigator.appVersion + "</td></tr>");
    document.write("<tr><td>language</td><td>" + navigator.language + "</td></tr>");
    document.write("<tr><td>cookieEnabled</td><td>" + navigator.cookieEnabled + "</td></tr>");
    document.write("<tr><td>cpuClass</td><td>" + navigator.cpuClass + "</td></tr>");
    document.write("<tr><td>onLine</td><td>" + navigator.onLine + "</td></tr>");
    document.write("<tr><td>platform</td><td>" + navigator.platform + "</td></tr>");
    document.write("<tr><td>No of Plugins</td><td>" + navigator.plugins.length + "</td></tr>");
    document.write("</table>");
  </script>
  <p>
    <input type="button" name="Thanks for checking!" value="Click me!" onClick="thankYou()" />
  </p>
</body>

</html>
&#13;
&#13;
&#13;

答案 2 :(得分:1)

<title>中没有脚本标记。您的浏览器很可能会在标题栏中逐字显示文本,因为它应该是什么。某些浏览器在标题中有额外的空格问题(或者有),例如换行符。更好地去除它们。

扔掉你的书,它一定真的很老了。不要使用document.write(...),忘记此功能存在。不要使用<tag onevent="...">,而应使用event listeners。还要阅读控制台输出(shift + ctrl + k或F12)以在JavaScript代码中找到拼写错误。

对不同编程语言的引物的概述:here。 (但网站的标题可能令人反感。:))