//this my javascript code written in a diffrent file i named jsTest.js
window.onload = function(){
var firstBton = document.getElementById('ch1bton');
};
firstBton.onclick = function(){
document.getElementById("addhere").innerHTML = "Test Ok";
};
// here the code in the html code from a test.html page
<script src="jsTest.js">
</script>
<table>
<tr id="ch1">
<td>Hully Fly</td>
<td>$30.00</td>
<td><input type="button" value="Add" id="ch1bton"/></td>
</tr>
</table>
<p id="addhere"> </p>
为什么只有当我将脚本文件放在html文件的按钮上时才能使用,而我正在使用window.onload方法。无法想出来的?
答案 0 :(得分:1)
检查你的控制台,你几乎肯定有错误。这是因为firstBton
是在onload
函数范围内声明的,但您尝试在onload
事件触发之前使用它,并且超出{{1}的范围处理程序。
这就是我的想法。
onload
工作演示:
window.onload = function(){
var firstBton = document.getElementById('ch1bton');
firstBton.onclick = function(){
document.getElementById("addhere").innerHTML = "Test Ok";
};
};
&#13;
window.onload = function(){
var firstBton = document.getElementById('ch1bton');
firstBton.onclick = function(){
document.getElementById("addhere").innerHTML = "Test Ok";
};
};
&#13;
答案 1 :(得分:0)
这是因为firstBton
在函数(onload回调)执行完毕后超出了范围。您应该将整个事情移动到window.onload
函数,如下所示:
window.onload = function(){
var firstBton = document.getElementById('ch1bton');
firstBton.onclick = function(){
document.getElementById("addhere").innerHTML = "Test Ok";
};
};