js实现键盘上下左右键选择文字并显示在文本框的方法


Posted in Javascript onMay 07, 2015

本文实例讲述了js实现键盘上下左右键选择文字并显示在文本框的方法。分享给大家供大家参考。具体实现方法如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>SimulateUpDownKeySelect.html</title>
<style type="text/css">
#divSelect {border:1px solid red; width:208px !important;width:210px;}
#divSelect ul {width:200px;margin:3px; margin-left:-35px;*margin-left:3px;overflow:hidden}
#divSelect ul li {float:left; list-style-type:none;width:45px;height:14px;line-height:20px;font:14px arial;text-align:center;padding:2px}
#divSelect li:hover {background :green;cursor:pointer}
#txtInput {width:205px;}
</style>
 </head>
 <body>
<form method="post" action="##">
<input type="text" id="txtInput" value="" autocomplete="off" onkeydown="if(event.keyCode==13)return false;" />
<!--
防止回车键触发表单提交
onKeyPress
-->
<div id="divSelect">
</div>
<script type="text/javascript">
var list="<ul>"
list+="<li>科幻片</li><li>战争片</li><li>动作片</li><li>爱情片</li><li>剧情片</li><li>记录片</li><li>综艺片</li><li>喜剧片</li><li>动画片</li><li>励志片</li><li>恐怖片</li><li>古装片</li><li>电视剧</li><li>读书</li><li >小说</li><li>作品集</li><li>历史</li><li>诗歌</li><li >散文</li><li>军事</li>";
list+="</ul>"
document.getElementById('divSelect').innerHTML=list;
</script>
</form>
<script type="text/javascript">
<!--
function $(sId)
{
  return document.getElementById(sId);
}
function clearSelectedOptBgColor(target)
{
  if (target.seletedIndex >= 0)
    target.options[target.seletedIndex].style.background = "";
}
function setSelectedOptBgColor(target)
{
  target.options[target.seletedIndex].style.background = "green";
}
var upKeyCode = 38;
var downKeyCode = 40;
var enterKeyCode = 13;
var oInput = $("txtInput");
oInput.options = $("divSelect").getElementsByTagName("li");
oInput.seletedIndex = -1;
oInput.focus();
//oInput.onKeyPress{}
oInput.onkeyup = function(event){
  if (event == undefined)
    event = window.event;
  switch (event.keyCode)
  {
    case 37:
      clearSelectedOptBgColor(this);
      this.seletedIndex--;
      if (this.seletedIndex < 0)
        this.seletedIndex = this.options.length - 1;
 this.value = this.options[this.seletedIndex].innerHTML;
      setSelectedOptBgColor(this);
      break;
      case 38:
      clearSelectedOptBgColor(this);
      this.seletedIndex= this.seletedIndex-4;
      if (this.seletedIndex < 0)
        this.seletedIndex = this.options.length - 1;
 this.value = this.options[this.seletedIndex].innerHTML;
      setSelectedOptBgColor(this);
      break;
    case 39:
      clearSelectedOptBgColor(this);
      this.seletedIndex++;
      if (this.seletedIndex >= this.options.length)
        this.seletedIndex = 0;
      this.value = this.options[this.seletedIndex].innerHTML;
      setSelectedOptBgColor(this);
      break;
      case 40:
      clearSelectedOptBgColor(this);
      this.seletedIndex= this.seletedIndex+4;
      if (this.seletedIndex >= this.options.length)
        this.seletedIndex = 0;
      this.value = this.options[this.seletedIndex].innerHTML;
      setSelectedOptBgColor(this);
      break;
     case enterKeyCode:
      this.value = this.options[this.seletedIndex].innerHTML;
      //alert('aa')
      break;
  }
};
oInput.onblur = function(){
  clearSelectedOptBgColor(this);
  this.seletedIndex = 1;
};
//-->
</script>
</body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
JQuery 网站换肤功能实现代码
Nov 02 Javascript
js获取当前select 元素值的代码
Apr 19 Javascript
基于Jquery插件开发之图片放大镜效果(仿淘宝)
Nov 19 Javascript
jQuery EasyUI API 中文文档 - TreeGrid 树表格使用介绍
Nov 21 Javascript
jQuery实现用户注册的表单验证示例
Aug 28 Javascript
Extjs实现进度条的两种便捷方式
Sep 26 Javascript
html5+javascript制作简易画板附图
Apr 25 Javascript
基于Jquery插件Uploadify实现实时显示进度条上传图片
Mar 26 Javascript
jQuery实现花式轮播之圣诞节礼物传送效果
Dec 25 Javascript
利用JavaScript的%做隔行换色的实例
Nov 25 Javascript
Vue中props的使用详解
Jun 15 Javascript
解决webpack多页面内存溢出的方法示例
Oct 08 Javascript
基于jQuery.Hz2Py.js插件实现的汉字转拼音特效
May 07 #Javascript
JavaScript更改字符串的大小写
May 07 #Javascript
JQUERY简单按钮轮换选中效果实现方法
May 07 #Javascript
JS基于面向对象实现的放烟花效果
May 07 #Javascript
jquery中trigger()无法触发hover事件的解决方法
May 07 #Javascript
javascript实现的图片切割多块效果实例
May 07 #Javascript
javascript中indexOf技术详解
May 07 #Javascript
You might like
浅谈PHP的反射机制
2016/12/15 PHP
THINKPHP截取中文字符串函数实例代码
2017/03/20 PHP
PHP一个简单的无需刷新爬虫
2019/01/05 PHP
基于jsTree的无限级树JSON数据的转换代码
2010/07/27 Javascript
extjs3 combobox取value和text案例详解
2013/02/06 Javascript
js如何调用qq互联api实现第三方登录
2014/03/28 Javascript
jQuery+ajax简单实现文件上传的方法
2016/06/03 Javascript
js复制内容到剪贴板代码,js复制代码的简单实例
2016/10/27 Javascript
javascript实现动态显示颜色块的报表效果
2017/04/10 Javascript
原生实现一个react-redux的代码示例
2018/06/08 Javascript
js中arguments对象的深入理解
2019/05/14 Javascript
vue项目部署到nginx/tomcat服务器的实现
2019/08/26 Javascript
uniapp电商小程序实现订单30分钟倒计时
2020/11/01 Javascript
Python闭包实现计数器的方法
2015/05/05 Python
Python实现mysql数据库更新表数据接口的功能
2017/11/19 Python
一道python走迷宫算法题
2018/01/22 Python
Python matplotlib 画图窗口显示到gui或者控制台的实例
2018/05/24 Python
Python3 安装PyQt5及exe打包图文教程
2019/01/08 Python
对python中矩阵相加函数sum()的使用详解
2019/01/28 Python
python3利用ctypes传入一个字符串类型的列表方法
2019/02/12 Python
Python3.7安装keras和TensorFlow的教程图解
2020/06/18 Python
Python抓新型冠状病毒肺炎疫情数据并绘制全国疫情分布的代码实例
2020/02/05 Python
简单了解Python write writelines区别
2020/02/27 Python
python的dict判断key是否存在的方法
2020/12/09 Python
商业活动邀请函
2014/02/04 职场文书
《夕阳真美》教学反思
2014/04/27 职场文书
爱我中华演讲稿
2014/05/20 职场文书
教育局党的群众路线教育实践活动整改方案
2014/09/20 职场文书
买卖合同纠纷代理词
2015/05/25 职场文书
警示教育片观后感
2015/06/17 职场文书
观后感格式
2015/06/19 职场文书
销售会议开幕词
2016/03/04 职场文书
毕业生自荐求职信书写的技巧
2019/08/26 职场文书
2019年消防宣传标语集锦
2019/11/21 职场文书
position:sticky 粘性定位的几种巧妙应用详解
2021/04/24 HTML / CSS
Python中的tkinter库简单案例详解
2022/01/22 Python