为啥我的两个方法必须写在 body 里才能运行,而写在 head里就无法运行呢?
new document 为啥我这里的 msover() msout() 方法必须写在 body 里才能运行,而写在 head里的window.onload里就无法运行呢? |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|
关于作用域的问题,只要msover()和msout()放在全局作用域下,就可以执行,分析如下:
trs.setAttribute("onmouseover","msover(this)");当这个语句执行,相当于在HTML样式里直接添加事件;HTML下的[tr]就会变成这样[tr];
当你的msover()方法放在全局变量中,[tr]是能成功读取到msover()这个方法的,但是如果你放在局部作用域下;根据JS规则,外部是无法访问局部作用域下的方法,因此就无法识别msover();
放在window.onload=function(){}里也就相当于放在一个局部作用域中,外界就无法访问,所以写在window.onload内无法执行 |
|
|
|
|
应该是从上往下执行,使用方法在上面,执行了,但是没有div,但是div之类还在下面,有div但是没方法,你加一个全部载入后再执行的代码就好了 |
|
|
|
|