哪些函数应该写在window.onload之内,哪些应该写在外面?
window.onload = function(){ // 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色。 var tr = document.getElementsByTagName("tr"); for(var i=0;i<tr.length;i++){ tr[i].onmouseover = function(){ this.style.backgroundColor="#f2f2f2"; } tr[i].onmouseout = function(){ this.style.backgroundColor="#fff"; } } // 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点; var btn = document.getElementById("btn"); btn.onclick = function(){ var oldtable = document.getElementById("table"); var newtr = document.createElement("tr"); newtr.innerHTML = "<td>xh001</td><td>王小明</td><td><a href='javascript:;' onclick='del2(this)'>删除</a></td> "; oldtable.appendChild(newtr); } // 创建删除函数 } function del2(obj){//obj是外面传入的参数this,也就是删除字段的节点TD var a=obj.parentNode.parentNode.parentNode;//获取最外层节点table var b=obj.parentNode.parentNode;//获取第二层节点TR,TR里有3个TD,为一行 a.removeChild(b);//利用父节点table删除子节点TR }
onclick事件放在window.onload函数外就不触发,而del2()放在window.onload就不触发,这是因为什么?