Atitit.获得向上向下左的右的邻居的方法 软键盘的设计..

Left right可以直接使用next prev..

Up down可以使用pix 判断...获得next element的position...比较top

不过,要是跨block的化...仅仅所有的可以使用positon方案了...

判断是不是next block...可以使用span 10px;...因为block尺寸不一样大..贝儿也能使用中心线了..

if(left_cur+10 >focusObj_left  && left_cur-10<focusObj_left &&  top_cur>focusObj_top)

作者::  ★(attilax)>>>   绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://www.cnblogs.com/attilax/

// JavaScript Document

function SearchBox()

{

}

SearchBox.prototype.removeFocus=function()

{

var arr=$(".searchbox .key");

arr.each(function(index, element) {

$(element).removeClass("hover");

});

//var now=$(".hover").get(0);

}

SearchBox.prototype.getFocusControl=function()

{

var now=$(".hover").get(0);

return now;

}

SearchBox.prototype.key_up_event=function(curFocusObj)

{

}

SearchBox.prototype.key_down_event=function(curFocusObj)

{

var focusObj_top = $(curFocusObj).offset().top;

var focusObj_left = $(curFocusObj).offset().left;

alert("cur xy:"+focusObj_left+"  "+focusObj_top);

var isFind=false;

var arr=$(".searchbox .key");

arr.each(function(index, element) {

if( $(element).html()=="J")

alert("--");

if($(element).attr("id")!=$(curFocusObj).attr("id"))

$(element).removeClass("hover");

if($(element).attr("id")==$(curFocusObj).attr("id"))

return true;  //continue;

var top_cur= $(element).offset().top;

var left_cur= $(element).offset().left;

if(left_cur+10 >focusObj_left  && left_cur-10<focusObj_left &&  top_cur>focusObj_top)

{

$(element).addClass("hover");

isFind=true;

return false; //break;

}

});

if(isFind)

$(curFocusObj).removeClass("hover");

}

SearchBox.prototype.key_left_event=function(curFocusObj)

{

}

SearchBox.prototype.key_rit_event=function(curFocusObj)

{

}

SearchBox.prototype.key_enter_event=function(curFocusObj)

{

var value = curFocusObj.html();

$('.searchbox .textbox').append(value);

}

SearchBox.prototype.bindKeyEvent=function()

{

var arr=$(".searchbox .key");

arr.each(function(index, element) {

var id="key_aid_"+index;

$(element).attr("id",id);

//

// objEvtMap[ id+"--left" ]=function(element)

// {

//

//

// }

objEvtMap[ id+"--enter" ]=function(element)

{

this.key_enter_event($(element));

}

objEvtMap[ id ]=function(evt,element)

{

if(evt=="down")

this.key_down_event($(element));

if(evt=="up")

this.key_up_event($(element));

if(evt=="left")

{

this.key_left_event($(element));

};

if(evt=="rit")

{

this.key_rit_event($(element));

}

};

});

}

Atitit.获得向上向下左的右的邻居的方法 软键盘的设计..的更多相关文章

  1. my sql 下左连接 右链接、内连接等应用,INNER JOIN LEFT JOIN RIGHT JOIN

    1.数据准备 建两个表格: create table student (idstu int, namestu ) ); ,"张三")(,"李四"),(,&quo ...

  2. 剑指offer系列——二维数组中,每行从左到右递增,每列从上到下递增,设计算法找其中的一个数

    题目:二维数组中,每行从左到右递增,每列从上到下递增,设计一个算法,找其中的一个数 分析: 二维数组这里把它看作一个矩形结构,如图所示: 1 2 8 2 4 9 12 4 7 10 13 6 8 11 ...

  3. layer-list实现只有左、右和下边框的圆角矩形

    项目中需要实现如下效果的布局 也就是一个左右下角带圆角,上方不带圆角的白色背景矩形,而且只有左.右和下边框,颜色为浅灰色. 当然,切一个.9图片作为背景也能实现,但是能用代码实现的还是尽量用代码实现, ...

  4. js实现Mac触摸板双指事件(上、下、左、右、放大、缩小)

    前言 这几天在修复一个web问题时,需要捕获Mac触摸板双指事件(上.下.左.右.放大.缩小),但发现并没有现成的轮子,还是要自己造. 例如:jquery.mousewheel.js(添加跨浏览器的鼠 ...

  5. 《剑指Offer》第1题(Java实现):在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

    一.题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该 ...

  6. js实现Mac触摸板双指事件(上/下/左/右/放大/缩小)

    前言 这几天在修复一个web问题时,需要捕获Mac触摸板双指事件(上.下.左.右.放大.缩小),但发现并没有现成的轮子,还是要自己造. 例如:jquery.mousewheel.js(添加跨浏览器的鼠 ...

  7. EasyUI 左,右(上、下)布局

    左,右(上.下)布局 <body class="easyui-layout"> <div data-options="region:'west',col ...

  8. 剑指offer22:从上往下打印出二叉树的每个节点,同层节点从左至右打印。

    1 题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 2 思路和方法 使用一个队列存放节点.先将根节点加入到队列中,然后循环遍历队列中的元素,遍历过程中,访问该节点的左右子节点,再将左 ...

  9. 论气机之"左升右降"

      生命现象源于气机的出入升降运动. “出入废则神机化灭,升降息则气立孤危.故非出入,则无以生长壮老已:非升降,则无以生长化收藏”(<素问·六微旨大论>),升降是气机主要的运动形式之一,是 ...

随机推荐

  1. 【数学期望】【高斯消元】bzoj3143 [Hnoi2013]游走

    和hdu5955很像.也是注意从结点1出发,其概率要在方程左侧+1. 边的期望和点的期望之间转换巧妙 http://blog.csdn.net/thy_asdf/article/details/473 ...

  2. 10.2(java学习笔记)JDBC事务简述

    一.事务 事务是指作为一系列操作组成的一个整体,该整体只有两种状态,要么全部执行,要么全部不执行. 当组成这个事务的所有语句都执行成功则该事务执行,只要有一条语句执行失败则该事务不执行. 假设这里有一 ...

  3. jvm-监视管理控制台-jconsole

    命令: jconsole 作用: jvm进程运行状态的实时.可视化工具 效果: 连接远程jvm进程: 1.首先远程jvm进程,开启了jmx服务: -Dcom.sun.management.jmxrem ...

  4. Solr6 +mmseg4j+IK-Analyzer + SQLserver +DIH 完全配置

    如今做任何一个系统都有搜索,而搜索界有著名的三剑客: solr/elasticsearch/sphinx solr/elasticsearch 为同一类的,都是基于lucene开发的产品,本人也早在几 ...

  5. 移动端与PHP服务端接口通信流程设计(增强版)

    前面讲过:移动端与PHP服务端接口通信流程设计(基础版) 对于 api_token 的校验,其安全性还可再增强: 增强地方一: 再增加2张表,一个接口表,一个授权表,设计参考如下: 接口表 字段名 字 ...

  6. SQL Server Wait Types Library

    https://www.sqlskills.com/blogs/paul/announcing-the-comprehensive-sql-server-wait-types-and-latch-cl ...

  7. Shader and Program编程基本概念 - 转

    原地址:http://blog.csdn.net/myarrow/article/details/7737313 一.本文关注的问题: • Shader and program 对象介绍• 创建并编译 ...

  8. JavaScript的map循环、forEach循环、filter循环、reduce循环、reduceRight循环

    1.map循环 let arr=[1,2,3,4]; arr.map(function(value,key,arr){ //值,索引,数组(默认为选定数组) return item; //如果没有re ...

  9. [Android Memory] Android内存管理、监测剖析

    转载自:http://blog.csdn.net/anlegor/article/details/23398785 Android内存管理机制: Android内存管理主要有:LowMemory Ki ...

  10. RTOS系统与Linux系统的区别

    RTOS是实时操作系统 Linux是时分系统,不过可以通过配置内核改成实时系统 分时操作系统 英文:Time-sharing Operating System  释义:使一台计算机同时为几个.几十个甚 ...