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. 软件配置篇-java下载及安装

    1.进入java官网下载合适版本: 下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.htm ...

  2. NPOI读取Excel2003,2007

    using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Lin ...

  3. 上传--下载HDFS文件并指定文件物理块的大小

    使用hdfs的api接口分别实现从本地上传文件到集群和从集群下载文件到本地. 1)上传文件主要是使用FileSystem类的copyFromLocalFile()方法来实现,另外我们上传文件时可以指定 ...

  4. SpingMVC实现操作的第一方式

    (一) 使用SpringMVC框架的步骤 (1):在web.xml中配置前端控制器 (2):在Spring-servlet.xml中配置 配置处理器映射器HandlerMapping(处理器Handl ...

  5. iOS 修改APP工程名字

    我们在iOS开发中,难免会遇到项目做到一半要改名字的情况.如果项目名差的太大,工程名看起来总是不舒服的,就会想着为工程改个贴切的名字,那么你就为用到本文记录的内容. 如何修改工程名呢? 下面我就拿一个 ...

  6. Wait statistics, or please tell me where it hurts

    https://www.sqlskills.com/blogs/paul/wait-statistics-or-please-tell-me-where-it-hurts/ By: Paul Rand ...

  7. 《西安交大电路》(Principles of Electrical Circuits) 学习笔记

    内容简介:电路分析是电子类专业的第一门基础课. 电路理论包括电路分析和电路综合两大方面内容.电路分析的主要内容是指在给定电路结构.元件参数的条件下,求取由输入(激励)所产生的输出(响应):电路综合则主 ...

  8. LVM分区管理和扩展

    一.LVM简介 LVM是 Logical Volume Manager(逻辑卷管理)的简写.LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它 ...

  9. C#属性和字段区别、get与set用法

    属性和字段的区别 在C#中,我们可以非常自由的.毫无限制的访问公有字段,但在一些场合中,我们可能希望限制只能给字段赋于某个范围的值.或是要求字段只能读或只能写,或是在改变字段时能改变对象的其他一些状态 ...

  10. s3c6410 Linux 驱动开发环境搭建

    s3c6410 Linux 驱动开发环境搭建 -- 既然你是做Linux开发的,你还用虚拟机? 非常多人都在win下做开发,于是SD_writer.exe之类的烧写工具"大行其道" ...