js實(shí)現(xiàn)鍵盤上下左右鍵選擇文字并顯示在文本框的方法
更新時(shí)間:2015年05月07日 10:07:33 投稿:shichen2014
這篇文章主要介紹了js實(shí)現(xiàn)鍵盤上下左右鍵選擇文字并顯示在文本框的方法,涉及javascript操作鍵盤事件及文本框的相關(guān)技巧,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下
本文實(shí)例講述了js實(shí)現(xiàn)鍵盤上下左右鍵選擇文字并顯示在文本框的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
<!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;" />
<!--
防止回車鍵觸發(fā)表單提交
onKeyPress
-->
<div id="divSelect">
</div>
<script type="text/javascript">
var list="<ul>"
list+="<li>科幻片</li><li>戰(zhàn)爭(zhēng)片</li><li>動(dòng)作片</li><li>愛(ài)情片</li><li>劇情片</li><li>記錄片</li><li>綜藝片</li><li>喜劇片</li><li>動(dòng)畫(huà)片</li><li>勵(lì)志片</li><li>恐怖片</li><li>古裝片</li><li>電視劇</li><li>讀書(shū)</li><li >小說(shuō)</li><li>作品集</li><li>歷史</li><li>詩(shī)歌</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>
希望本文所述對(duì)大家的javascript程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:
- JS獲取及設(shè)置TextArea或input文本框選擇文本位置的方法
- js點(diǎn)擊選擇文本的方法
- js點(diǎn)擊文本框彈出可選擇的checkbox復(fù)選框
- js實(shí)現(xiàn)點(diǎn)擊文本框顯示日期選擇器特效代碼分享
- JS實(shí)現(xiàn)選擇TextArea內(nèi)文本的方法
- JavaScript實(shí)現(xiàn)點(diǎn)擊自動(dòng)選擇TextArea文本的方法
- extjs表格文本啟用選擇復(fù)制功能具體實(shí)現(xiàn)
- JavaScript 文本域字體大小選擇功能
- 用javascript實(shí)現(xiàn)文本框和"選擇"按扭之間的間距
- JS實(shí)現(xiàn)兼容各種瀏覽器的獲取選擇文本的方法【測(cè)試可用】
相關(guān)文章
微信打開(kāi)網(wǎng)址添加在瀏覽器中打開(kāi)提示的辦法
這篇文章主要介紹了微信打開(kāi)網(wǎng)址添加在瀏覽器中打開(kāi)提示的辦法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05
javaScript同意等待代碼實(shí)現(xiàn)心得
javaScript功能描述:本程序?qū)崿F(xiàn)在同意某某協(xié)議頁(yè)面對(duì)同意按鈕進(jìn)行十秒鐘的禁用,同時(shí)在按鈕的Value顯示倒計(jì)時(shí)。2011-01-01
Firefox/Chrome/Safari的中可直接使用$/$$函數(shù)進(jìn)行調(diào)試
偶然發(fā)現(xiàn)的,頁(yè)面中沒(méi)有引入Prototype和jQuery。控制臺(tái)中敲$卻發(fā)現(xiàn)是一個(gè)函數(shù)。又試著敲$$,也是個(gè)function2012-02-02
Openlayers+EasyUI Tree動(dòng)態(tài)實(shí)現(xiàn)圖層控制
這篇文章主要為大家詳細(xì)介紹了Openlayers+EasyUI Tree動(dòng)態(tài)實(shí)現(xiàn)圖層控制,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-09-09

