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. HYSBZ - 2038 小Z的袜子 (莫队算法)

    A1206. 小Z的袜子 时间限制:1.0s   内存限制:512.0MB   总提交次数:744   AC次数:210   平均分:44.44 将本题分享到:        查看未格式化的试题    ...

  2. 详解jQuery的选择器

    1.基本选择器 基本选择器是jQuery中最常用的选择器,也是最简单的选择器,它通过元素id.class和标签名等来查找DOM对象.在网页中,每个id名称只能使用一次,class允许重复使用. ♠ # ...

  3. [姿势]cpp - memset

    头文件:memory.h 可以刷的有: memset(array,,sizeof(array)); //全部赋0 memset(array,-,sizeof(array)); //全部赋-1 用法和用 ...

  4. [POI2018]Prawnicy

    题目大意: 有$n(n\le10^6)$个线段,每个线段覆盖的范围是$[l_i,r_i]$,要求从中选取$k(k\le10^6)$个线段使得这些线段覆盖范围的交集最大,求最大交集及任意一种方案. 思路 ...

  5. 8.3(java学习笔记)动态编译(DynamicCompiler)与动态运行(DynamicRun)

    一.动态编译 简单的说就是在运行一个java程序的过程中,可以通过一些API来编译其他的Java文件. 下面主要说动态编译的实现: 1.获取java编译编译器 2.运行编译器(须指定编译文件) 获取编 ...

  6. 线程协作-Semaphore并发限制

    Semaphore(信号量)是用来控制同时访问特定资源的线程数量,它通过协调各个线程,以保证合理的使用公共资源.

  7. Swift,结构体与类

    1.结构体(小的类就是用struct来写) struct arrow{ var x=0,y=0 } 2.类(常用) class a{ var a=10 var b=20 } var b=a() //实 ...

  8. python3+django使用celery执行某些任务失败的解决方案

    .在celery 的worker启动窗口设置export PYTHONOPTIMIZE=1 export PYTHONOPTIMIZE=1 /usr/local/python36/bin/celery ...

  9. SQLSERVER表联结(INNER JOIN,LEFT JOIN,RIGHT JOIN,FULL JOIN,CROSS JOIN,CROSS APPLY,OUTER APPLY)

    1 常用表联结(inner join,left join,right join,full join,cross join) if object_id(N'table1',N'U') is not nu ...

  10. iOS:Xcode中SVN不能提交CocoaPods中的.a文件的解决方法

    不能提交.a文件, 这个与SVN的配置有关, 其实与xcode倒没有关系. 解决方法: 1. 打开终端,  在命令行中输入: vi ~/.subversion/config  来打开配置文件.2. 然 ...