明月松间照 清泉石上流


                                        ——— 兵临城下   猫科动物
posts - 70, comments - 137, trackbacks - 0, articles - 23
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

今天遇到的问题!关于JavaScript

Posted on 2006-08-02 21:15 兵临城下 阅读(399) 评论(4)  编辑  收藏 所属分类: JavaScript
         光说很难说清楚,我给大家演示一下:
         网页中存在这样的一个数组,通过script打出的 <script>var pdt =[1,2];</script>,逻辑是想通过这个数组的长度来控制一张图片的链接:<img id = "ref" src="/reference.tif" width="389"/>。
         控制方法如下:在<body onload = "reference()">中调用这个js方法。
         function reference() {
               var img = document.getElementById("ref");
               if(typeof(pdt) = = undefined ||  pdt.length = =0) {
                      img.style.filter = "Gray";
              }else{   img.onclick="REF_ON()"; }
         }
         运行后页面没有提示任何js错误,在pdt不为空时察看代码,图片链接中已变为:<img id = "ref"  onclick = "REF_ON()" src="/reference.tif" width="389" />,说明js方法已添加成功,然而点击图片时却没有任何反应,不知为何?
         后和同事讨论,将代码改变如下就OK了:
         <img id = "ref"  onclick="REF_ON()"  src="/reference.tif" width="389"/>将方法调用先直接写入页面中,JS方法改变如下:
         function reference() {
               var img = document.getElementById("ref");
               if(typeof(pdt) = = null  ||  pdt.length = =0) {
                      img.style.filter = "Gray";
                      img.onclick = null;        
               }
         }
         两种方法在逻辑上看没什么区别,但最终实现确不一样,想请教大家,第一种方法为何不行?奇怪的是JS方法已把onclick成功加入到页面中,为什么点击后没有反应??

评论

# re: 今天遇到的问题!关于JavaScript  回复  更多评论   

2006-08-03 08:49 by hahahehe
晕,img.onclick="REF_ON()"; 你给onclick添加了一个啥啊,字符串啊,你应该这么写嘛,img.onclick=REF_ON; 呵呵

# re: 今天遇到的问题!关于JavaScript  回复  更多评论   

2006-08-03 20:40 by 兵临城下
原来是这样,呵呵!学JAVA很久了,但JS确实初学,见笑了!
谢谢了!

# re: 今天遇到的问题!关于JavaScript  回复  更多评论   

2006-08-03 20:45 by 兵临城下
JS的控制确实比较精细啊!有种全盘掌握,随心所欲的感觉,很爽!呵呵!

# re: 今天遇到的问题!关于JavaScript  回复  更多评论   

2006-08-04 08:47 by hahahehe
是啊,以前对js的理解太有限了,js其实是一门非常好的语言,学学还是很有价值的,js基本功打牢了可以去研究一下prototype库,写的真是一级棒,java写多了,脚本语言的灵活性有时候会让你咂舌

只有注册用户登录后才能发表评论。


网站导航: