欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js 上下左右鍵控制焦點(diǎn)(示例代碼)

 更新時(shí)間:2013年12月14日 09:05:00   作者:  
這篇文章主要是對(duì)js上下左右鍵控制焦點(diǎn)的示例代碼進(jìn)行了詳細(xì)的介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助

如下所示:

復(fù)制代碼 代碼如下:

//begin---------------上下左右鍵控制

if('${iscontrol_mchntid}'.indexOf('${mchntid}')!=-1){

var texts = new Array();
//設(shè)置為focus所在的location
var x = 2;
var y = 3;
var maxx = 0;
var maxy = 0;
window.onload=function(){
var inputs = $("[location]");
for(var i = 0; i < inputs.length; i++){
texts.push(inputs[i]);
}
for(var i = 0; i < texts.length; i++){
texts[i].onfocus = new Function("setCurrent('" + texts[i].getAttribute("location") + "')");
var crtx = parseInt(texts[i].getAttribute("location").split(",")[0]);
var crty = parseInt(texts[i].getAttribute("location").split(",")[1]);
maxx = maxx < crtx ? crtx : maxx;
maxy = maxy < crty ? crty : maxy;
texts[i].onkeydown = function(e){
e = e || window.event;
switch(e.keyCode){
case 38:setPosition(x,y,38);break;// 上
case 40:setPosition(x,y,40);break;// 下
case 37:setPosition(x,y,37);break;// 左
case 39:setPosition(x,y,39);break;// 右
case 45:setPosition(x,y,45);break; // Insert鍵/返回鍵 在輸入框里是刪除且輸入庫(kù)有值時(shí)是刪除 其他為返回上一頁(yè)
default:return true;
}
};
}
};
function setPosition(x,y,keyCode){

//此處加入動(dòng)態(tài)改變位置的邏輯----begin
//上下時(shí),只改動(dòng)y坐標(biāo),x坐標(biāo)自動(dòng)改變
//左右時(shí),只改動(dòng)x坐標(biāo),y坐標(biāo)自動(dòng)改變
if(keyCode == '38' && x == '3'){
if(y=='3'||y=='4'||y=='5'||y=='6'||y=='7'||y=='8'){
y='3';
}
}
if(keyCode == '40' && x == '4'){
if(y=='3'||y=='4'||y=='5'||y=='6'||y=='7'||y=='8'){
y='3';
}
}
//此處加入動(dòng)態(tài)改變位置的邏輯----end

if(keyCode == '38'){
x = --x;
}
if(keyCode == '40'){
x = ++x;
}
if(keyCode == '37'){
y = --y;
}
if(keyCode == '39'){
y = ++y;
}
movePosition(x,y,keyCode);
}
function movePosition(x1,y1,keyCode){
if(keyCode == '45'){
//光標(biāo)所在的對(duì)象是input時(shí)
var st = x1+","+y1;
if($("input[location='"+st+"']").attr("type")=="text"){
var oldval = $("input[location='"+st+"']").val();
var newval = oldval.substring(0,oldval.length-1);
$("input[location='"+st+"']").val(newval);
return false;
}else{
history.go(-1);
return false;
}
}
x1 = x1 > maxx ? 1 : x1;
y1 = y1 > maxy ? 1 : y1;
x1 = x1 < 1 ? maxx : x1;
y1 = y1 < 1 ? maxy : y1;

var j = 0;
for(; j < texts.length; j++){
if(texts[j].getAttribute("location") == x1 + "," + y1){
texts[j].focus();
break;
}
}
if(j == texts.length){
switch(keyCode){
case 38:movePosition(--x1,y1,keyCode);break;// 上
case 40:movePosition(++x1,y1,keyCode);break;// 下
case 37:movePosition(x1,--y1,keyCode);break;// 左
case 39:movePosition(x1,++y1,keyCode);break;// 右
}
}
}
function setCurrent(location){
x = location.split(",")[0];
y = location.split(",")[1];
}
}
//end---------------上下左右鍵控制

相關(guān)文章

  • Js自定義多選框效果的實(shí)例代碼

    Js自定義多選框效果的實(shí)例代碼

    本篇文章主要介紹了Js自定義多選效果的實(shí)例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-07-07
  • js禁止document element對(duì)象選中文本實(shí)現(xiàn)代碼

    js禁止document element對(duì)象選中文本實(shí)現(xiàn)代碼

    禁止document element對(duì)象選中文本在某在情況下還是很有必要的接下來(lái)本文將使用js實(shí)現(xiàn),感興趣的各位可以參考下哈
    2013-03-03
  • JavaScript 程序錯(cuò)誤Cannot use ''in'' operator to search的解決方法

    JavaScript 程序錯(cuò)誤Cannot use ''in'' operator to search的解決方法

    下面小編就為大家?guī)?lái)一篇JavaScript 程序錯(cuò)誤Cannot use 'in' operator to search的解決方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-07-07
  • javascript(js) join函數(shù)使用方法介紹

    javascript(js) join函數(shù)使用方法介紹

    javascript(js) join函數(shù)使用方法介紹...
    2007-11-11
  • Javascript call及apply應(yīng)用場(chǎng)景及實(shí)例

    Javascript call及apply應(yīng)用場(chǎng)景及實(shí)例

    這篇文章主要介紹了Javascript call及apply應(yīng)用場(chǎng)景及實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • vue.config.js文件重寫打包工具配置信息

    vue.config.js文件重寫打包工具配置信息

    vue.config.js是一個(gè)可選的配置文件,可以在其中定義一些自定義的配置選項(xiàng),本文就來(lái)介紹一下如何配置,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-12-12
  • JavaScript中的DOM遍歷詳解

    JavaScript中的DOM遍歷詳解

    文檔對(duì)象模型 (DOM) 表示 HTML 文檔的結(jié)構(gòu),導(dǎo)航或“遍歷”此結(jié)構(gòu)是 Web 開(kāi)發(fā)的基本方面,使開(kāi)發(fā)人員能夠在網(wǎng)頁(yè)上選擇、修改、刪除或添加內(nèi)容,本文深入研究了使用 JavaScript 進(jìn)行 DOM 遍歷的藝術(shù),提供了一個(gè)強(qiáng)大的工具包來(lái)處理各種遍歷場(chǎng)景
    2023-09-09
  • 淺談JS和Nodejs中的事件驅(qū)動(dòng)

    淺談JS和Nodejs中的事件驅(qū)動(dòng)

    這篇文章主要介紹了JS和Nodejs中的事件驅(qū)動(dòng),對(duì)事件驅(qū)動(dòng)感興趣的同學(xué),可以參考下
    2021-05-05
  • JS打字效果的動(dòng)態(tài)菜單代碼分享

    JS打字效果的動(dòng)態(tài)菜單代碼分享

    這篇文章主要介紹了JS打字效果的動(dòng)態(tài)菜單,推薦給大家,有需要的小伙伴可以參考下。
    2015-08-08
  • JS正則表達(dá)式之非捕獲分組用法實(shí)例分析

    JS正則表達(dá)式之非捕獲分組用法實(shí)例分析

    這篇文章主要介紹了JS正則表達(dá)式之非捕獲分組用法,結(jié)合實(shí)例形式詳細(xì)分析了正則表達(dá)式中非捕獲分組的概念、功能、使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2016-12-12

最新評(píng)論