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. Codeforces Round #404 (Div. 2) E. Anton and Permutation(树状数组套主席树 求出指定数的排名)

    E. Anton and Permutation time limit per test 4 seconds memory limit per test 512 megabytes input sta ...

  2. ant脚本调用.bat文件

    build.xml内容如下: <project name="example" default="test"> <target name=&qu ...

  3. iOS开发中几种常见的存储方式

    1.archive 归档 数据的保存 1: let result = NSKeyedArchiver.archiveRootObject(contacts, toFile: path as Strin ...

  4. 文件描述符与socket连接

    每个进程开启一个soeket连接,都会占用一个文件描述符.   1. 概述       在Linux系统中一切皆可以看成是文件,文件又可分为:普通文件.目录文件.链接文件和设备文件.       文件 ...

  5. String的解析

    String作为Java中最常用的引用类型,相对来说基本上都比较熟悉,无论在平时的编码过程中还是在笔试面试中,String都很受到青睐,然而,在使用String过程中,又有较多需要注意的细节之处. 1 ...

  6. javascript中常见的函数封装 :判断是否是手机,判断是否是微信,获取url地址?后面的具体参数值,毫秒格式化时间,手机端px、rem尺寸转换等

    // 判断是否是手机function plat_is_mobile(){ var sUserAgent = navigator.userAgent.toLowerCase(); var bIsIpad ...

  7. PostgreSQL配置文件--WAL

    3 WAL WRITE AHEAD LOG 3.1 Settings 3.1.1 fsync 字符串 默认: fsync = on 开启后强制把数据同步更新到磁盘,可以保证数据库将在OS或者硬件崩溃的 ...

  8. 编程算法 - 和为s的两个数字 代码(C)

    和为s的两个数字 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 输入一个递增排序的数组和一个数字s, 在数组中查找两个数, 使得它们的和正好是 ...

  9. 用table表格来调整控件的格式

    由于想自己写一个web,所以也在学习html语言的一些东西,让我回忆起了大学时代曾对网页设计产生过兴趣,无奈那时候还没有自己的电脑,还常去网吧买个软盘下载一些图片,然后用fontpage做一些网页.后 ...

  10. poj 1426 Find The Multiple (bfs 搜索)

    Find The Multiple Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 18012   Accepted: 729 ...