jquery EasyUI datagrid 的扩展

接触 easyui 半年,js学的不深。大神请路过。

直接扩展

添加方法:

$.extend($.fn.datagrid.methods, {

    getSelectedIndex: function (jq) {//jq这个参数固定,如果需要定义其它参数写到后面
var rowIndex = -1;
jq.each(function () {//只取一个,其它不管。
var dg = $(this);
var row = dg.datagrid('getSelected');
if (row == null) return false;//break;
rowIndex = dg.datagrid('getRowIndex', row);
if (rowIndex == null) rowIndex = -1;
return false;//break;
});
return rowIndex;
}

继承的方式

这个比较难,因为,easyui底层的函数参数是混淆的。看不懂代码。

不懂从哪里入手,想到看源码参考。比如 dialog 是从 window 继承过来的。

jquery  EasyUI datagrid 的扩展

init 和 Render是我自己猜的函数名。只是为了帮助理解。

$.fn.dialog   //这个定义 dialog

$.fn.dialog.methods  //写 dialog 自己的函数。

$.fn.dialog.parseOptions  //解析参数

$.fn.dialog.defaults  //dialog 自己的默认定义

第一个  $.fn.dialog ,看注释:

jquery  EasyUI datagrid 的扩展

其它三个块:

jquery  EasyUI datagrid 的扩展

其中 $.fn.dialog.methods 只需要知道:添加方法,有一个参数 jq。

好了,大概了解怎么写扩展了吧。

在 init 重写事件

            onBeginEdit: function (index, row) { //这个function是 基类datagrid调用的。
opts.rowEditingIndexes.push(index);
opts.onBeginEdit.apply(this, [index, row]); //子类选项中的事件处理器调用
}

  

整个类的源码 不懂的怎么上传。

有需要的话加这个群吧:334214995

上一篇:sqlserver mdf向上兼容附加数据库(无法打开数据库 'xxxxx' 版本 611。请将该数据库升级为最新版本。)


下一篇:IOS手势UIGestureRecognizer