本帖最后由 q631263135 于 2013-04-08 17:33:54 编辑

解决方案 »

  1.   

    不能用new, datagrid从拓展jQuery中拓展出来的方法,其直接逻辑如下:$.fn.datagrid = function(options, param){
    if (typeof options == 'string'){
    var method = $.fn.datagrid.methods[options];
    if (method){
    return method(this, param);

    }

    options = options || {};
    return this.each(function(){
    var state = $.data(this, 'datagrid');
    if (state){
    $.extend(state.options, options);
    } else {
    $.data(this, 'datagrid', {
    options: $.extend({}, $.fn.datagrid.defaults, $.fn.datagrid.parseOptions(this), options)
    });
    }
    creatdatagrid(this);
    });
    };

    这只是一部分代码,其它还有很多的方法、类的定义来配合datagrid完成其功能。
    你最好到easyUI官网下一个拓展示例项目看一下,可以很全面的了解easyUI的实现原理
    http://www.jeasyui.com/extension/etree.php, 这个页面最底下有个下载链接.
    如果你不了解jQuery的一些基础知识,估计会看得很迷糊,建议你先上jQuery官网看了解一下$.extend, $.fn这些概念
      

  2.   

    还有$.data也是easyUI常用到的一个jQuery概念, easyUI是整个根植于jQuery库的控件集合, 而jQuery又是建立在原生JavaScript上的函数库, 所以要把这些基础都学好, 不需要面面俱到, 但重要的概念还是要懂