日期:2014-05-18  浏览次数:20568 次

这个js问题怎么解决
我想写一个点击id为xx的元素的响应事件,如下:
document.getelmentbyID( "xx ").onmousedown=function(){}
但是这段脚本写在xx元素前的话会报错,因为那时xx元素还没有产生,写在后面就没问题。但是因为我要写在.js文件里面,所以相当于必须写在产生xx元素之前,请问怎么办?

------解决方案--------------------
no way

只能有对象时才能调用,否则肯定会有问题
------解决方案--------------------
加载.js文件放在 </html> 标签的再下面也照样可以调的
------解决方案--------------------
页面加载时,由上至下进行解析,所以你那样写放在元素前会出错;找不到元素
你可以这样:
<span id= "xx " onmousedown= "mouseDown(this) "> </span>
js:
function mouseDown(spanObj)
{
//此时 spanObj 相当于 document.getelmentbyID( "xx ")
}
------解决方案--------------------
可以用后台来加载JS文件的..记得有个方法可以在生成HTML元素后再注册JS脚本的.
------解决方案--------------------
document.getelmentbyID( "xx ").onmousedown=function(){}
在后台写
------解决方案--------------------
你再后面再引入js吧
------解决方案--------------------
document.onreadystatechange()=function()
{
if (document.readyState!= "complete ") return;
document.getelmentbyID( "xx ").onmousedown=function(){};

}