键盘上下键切换实现预览功能

最近需求:网页表格列表中需要通过键盘上下键切换来实现预览详细功能,不再仅仅是鼠标多次点击的效果。

具体实现参考如下:

其中,键盘码38代表向上键,40代表向下键。

document.onkeydown 触发键盘按下的事件。

 

var keyboardUpDown = function(rowNum){
		var rowNum = parseInt(rowNum);
//		var totalRow = parseInt($("#PageCount").text());
		$(".doclist tr").removeClass("isSelect");
		document.onkeydown = function(evt){
			var totalRow = parseInt($("#CurrentPage").text())*30;
			var evt = evt || window.event; 
			evt.preventDefault();
			var a = evt.target||evt.srcElement;
			if(evt.keyCode==38){
				if(rowNum==1)
					rowNum = 2;//totalRow+1;
				var lastRow = rowNum-1;
				if($(".doclist tr:eq("+rowNum+")").hasClass("isSelect")){
					$(".doclist tr:eq("+rowNum+")").removeClass("isSelect");
				}
				$(".doclist tr:eq("+lastRow+")").addClass("isSelect");
				var select = ".doclist tr:eq("+lastRow+")";
				var id = $(select).attr("id");
				var libid = $(select).attr("libid");
				loadData(libid, id);
				rowNum = lastRow;
			}else if(evt.keyCode==40){
				if(rowNum==totalRow)
					rowNum = totalRow-1;//0;
				var nextRow = rowNum+1;
				if($(".doclist tr:eq("+rowNum+")").hasClass("isSelect")){
					$(".doclist tr:eq("+rowNum+")").removeClass("isSelect");
				}
				$(".doclist tr:eq("+nextRow+")").addClass("isSelect");
				var select = ".doclist tr:eq("+nextRow+")";
				var id = $(select).attr("id");
				var libid = $(select).attr("libid");
				loadData(libid, id);
				rowNum = nextRow;
			}
		}
	}

注: loadData的功能是向后台获取数据,放入固定的div中进行预览展示功能。

        totalRow是根据分页的当前页与每页显示条数计算得出。

(因为我这里的数据是整个窗口滚动加载的方式获得,所以切换没有实现开头与结尾的循环。)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值