jq 键盘事件,点击键盘上的上键,input上一个获取焦点,点击下键,input下一个获取焦点

<!DOCTYPE html>
<html>

	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
	</head>

	<body> 
		<ul>
			<li><input type="text" /></li>
			<li>
				<ol class="one">
					<li><input type="text" /></li>
					<li><input type="text" /></li>
					<li><input type="text" /></li>
					<li><input type="text" /></li>
					<li><input type="text" /></li>
				</ol>
			</li>
		</ul>
		<ol class="two">
			<li><input type="text" /></li>
			<li><input type="text" /></li>
			<li><input type="text" /></li>
			<li><input type="text" /></li>
			<li><input type="text" /></li>
		</ol>
		<dl> 
			<dd><input type="text" /></dd>
			<dd><input type="text" /></dd>
			<dd><input type="text" /></dd>
			<dd><input type="text" /></dd>
			<dd><input type="text" /></dd>
		</dl>
		<script>
			$(function() {
				var flag = false,index=0;
				function focusZ($lis) {
					$lis.keydown(function(event) {
						if(!flag){
							return false;
						};
						switch(event.keyCode) {
							case 38:
								if(index!=0){ 
									focusL($lis,index-1);
								};
								console.log(index);
								console.log('上')
							break;
							case 40:
								if(index!=($lis.length-1)){
									 
									focusL($lis,index+1);
								};
								console.log(index);
								console.log('下');
							break;
						};
					});
				};
				
				function focusL($lis,num) {
					$lis.eq(num).find("input").focus();
				};
				
				function Lifocus(obj){
					obj.on("focus","input",function(){
						flag=true;
				        index = $(this).parent('li').index();    
				        console.log(index);
				    });
				    focusZ(obj);
				}
				
				Lifocus($(".one li"));
				Lifocus($(".two li"));
				Lifocus($(".dl dd"));
				 
			})
		</script>
	</body>
</html>

  

posted @ 2018-12-18 11:35  小囧光  阅读(1833)  评论(0编辑  收藏  举报