QQ技术群:5678537,70210212,77813547 个人网站:http://www.lovewebgames.com 邮箱:55342775@qq.com

dojo学习四 dojo常用方法与扩展学习

      能坚持从dojo学习系列一 一直看到今天的四的童鞋是越来越少了,第一篇dojo学习一 之Tab选项卡接触访问次数:1160次,第二篇dojo学习二 ajax异步请求之绑定列表:1055次,第三篇dojo学习三 grid表格扩展学习:786次,可能是我的语言不够华丽,无法吸引大家的眼球,也无法让大家产生对dojo的强烈渴望,我承认我有罪,我对不起大家,对不起D。作为一个资深的前端爱好者,我觉得学习Dojo会让你更了解js的一些其他特性,如果你只是想对dom的简单操作,那么你还是继续你的jquery吧!

       说到dom操作,dojo也有在基类中集成一些常用的选择器,如:

1 dojo.byId("domId")//返回id是domId的节点
2 dojo.query(".className")//这里的参数是css选择器,和jquery一样
3 dojo.style(node, style, value)//改变节点样式.

.........

      基本上jquery上有的,它也会有,jquery没有的,它也有,比如dojo.hitch(scope, method),dojo.toJson,dojo.some,dojo.indexOf等,jquery1.6压缩后只有30几KB,dojo基类压缩后也只有30几KB,所以没有什么理由让你歧视dojo。至于你学不学,反正我是学了的。更详细的API说明请看dojo API官网 .

      刚说到dojo.hitch(scope,method)方法,它的作用类似于o.apply(f,args),我的理解是,把方法引用到对象,改变当前工作环境。如以下代码:

    function init(){        
        
function showData(){
            
var x=this.getData();
            dojo.byId(
"showData").innerHTML=x;
        }
        
var dataScr1={
            value:
0,
            getData:
function(){
                
return this.value++;
            }
        };
        
var dataScr2={
            value:
0,
            getData:
function(){
                
return (this.value+=5);
            }
        };
        dojo.byId(
"f1").onclick=dojo.hitch(dataScr1,showData);
        dojo.byId(
"f2").onclick=dojo.hitch(dataScr2,showData);
    }
    dojo.addOnLoad(init);

        这里,showData里的this指针,会根据hitch的第一个参数来改变工作环境。相当于showData.apply(dataScr1),工作忙,没时间写了,就烂尾吧!

posted @ 2011-09-07 14:30  田想兵  阅读(1683)  评论(0编辑  收藏  举报
联系QQ:55342775,QQ技术群:5678537,70210212,77813547 个人网站:http://www.lovewebgames.com 邮箱:55342775@qq.com