我是javaScript的新手,並且正在通過將回調函數連接到事件的各種技術。將回調函數連接到onload事件以便正文元素失敗
在從html中分離出所有JS代碼並且連接window.onload
塊中的所有回調函數的技術(Head First JavaScript強烈推薦,我遵循該方法)時,onload事件的body元素的接線不起作用。
我期待2個警告框,被跟隨Hii
其他與Hello
(當我點擊的按鈕),但我只讓你好(通過點擊按鈕),但在此之前,我沒有得到Hii
警告框。
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<script type="text/javascript">
function fun1() {
alert("Hii");
}
function fun2() {
alert("hello");
}
window.onload = function() {
document.getElementsByTagName('body')[0].onload = function() {
fun1();
};
document.getElementById('btn1').onclick = function() {
fun2();
};
};
</script>
</head>
<body>
<input type="button" id="btn1" value="Click">
</body>
</html>
問題的第二部分;
在下面的代碼,我謹onload
爲body
元素的HTML代碼本身,然後我得到Hii
只有一個警告框(如預期),但隨後由於預期onlick
事件上的按鈕不起作用,其警戒框Hello
。
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<script type="text/javascript">
function fun1() {
alert("Hii");
}
function fun2() {
alert("hello");
}
window.onload = function() {
document.getElementById('btn1').onclick = function() {
fun2();
};
};
</script>
</head>
<body onload="fun1()";>
<input type="button" id="btn1" value="Click">
</body>
</html>
這種不確定的行爲困擾着我。