onclick事件(非内联)不起作用

时间:2014-05-03 20:04:50

标签: javascript

我刚才想到了这一点,但我的所有文件都已被删除,而且我所拥有的唯一备份来自几周前......无论如何,我已经关注了这本书以及一些关于活动的网站处理,但我不知道如何删除内联Javascript。这就是我已经看过的:

addEventListener vs onclick

http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_win_close

button.html文件:

<html>
<head>
    <script src="window.js"></script>
</head>
<body>
    <button type="button" id="Start Process">Start Process</button>
</body>
</html>

window.js文件:

function myFunction() {
    window.open("http://www.w3schools.com");
}

var Process = document.getElementById('Start Process');
Process.onclick = myFunction;

1 个答案:

答案 0 :(得分:0)

The code似乎工作正常。确保您导入页面末尾的<script>。否则,在脚本加载时该按钮不会存在。

<html>
<head>
     <!-- Remove the script from here -->
</head>
<body>
    <button type="button" id="Start Process">Start Process</button>

    <!-- Place the script here -->
    <script src="window.js"></script>
</body>
</html>

如果仍然无效,请尝试从id中删除空格。

在HTML中:

<button type="button" id="StartProcess">Start Process</button>

在JS中:

var Process = document.getElementById('StartProcess');

id属性不应包含空格。根据{{​​3}}:

  

ID NAME 令牌必须以字母([A-Za-z])开头,可能是   后跟任意数量的字母,数字([0-9]),连字符(&#34; - &#34;),   下划线(&#34; _&#34;),冒号(&#34;:&#34;)和句号(&#34;。&#34;)。

根据HTML 4.0 specification for basic types

  

该值必须在元素主页中的所有ID中唯一   子树,必须包含至少一个字符。 价值不得   包含任何空格字符。