为easyui datagrid 添加上下方向键移动
将以下脚本保存为 easyui-datagrid-moverow.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | var DatagridMoveRow = ( function ($){ function DatagridMoveRow(gridTarget){ this .el = gridTarget; this .$el = $( this .el); this .rowIndex = -1; this .rowsCount = this .$el.datagrid( 'getData' ).rows.length; return this ; } DatagridMoveRow.prototype = { getRowindex: function (){ var selectRowIndex = this .$el.datagrid( 'getSelectedIndex' ); if (selectRowIndex == -1){ this .rowIndex = 0 ; } else { this .rowIndex = selectRowIndex; } }, moveUp: function (){ this .getRowindex(); if ( this .rowIndex ==0){ return false ; } var i = -- this .rowIndex; if (i>-1){ this .$el.datagrid( 'selectRow' ,i); } else { this .rowIndex = 0; } return false ; }, moveDown: function (){ this .getRowindex(); if ( this .rowIndex == this .rowsCount -1 ){ return false ; } var i = ++ this .rowIndex; this .$el.datagrid( 'selectRow' ,i); } } return DatagridMoveRow; })(jQuery); |
定义调用方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | var moveRow = function (target){ var options = $(target).datagrid( 'options' ); if (options.moveRow){ var dmr = new DatagridMoveRow(target); $(document).on( 'keydown.datagridrow' , function (e){ if (e.keyCode == 38){ //up dmr.moveUp(); } else if (e.keyCode == 40) { // down dmr.moveDown(); } }); } } |
在初始化datagrid 的 onLoadSuccess 事件中
1 2 3 4 | onLoadSuccess: function (){ // 上下方向键移动 moveRow( this ); } |
这样就OK啦!
标签:
easyui datagrid
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· Ai满嘴顺口溜,想考研?浪费我几个小时
· Browser-use 详细介绍&使用文档
· 软件产品开发中常见的10个问题及处理方法
2012-01-11 介绍几款在线代码编辑器