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));

}

};

});

}

最新文章

  1. ng-repeat循环出来的部分调用同一个函数并且实现每个模块之间不能相互干扰
  2. ecstore-lnmp环境下crontab不执行原因
  3. BZOJ 3827: [Poi2014]Around the world
  4. :nth-child
  5. 烂泥:ubuntu中使用virt-manager图形化新建虚拟机
  6. Demo学习: CustomException
  7. nyoj 17 单调递增最长子序列
  8. ASP实现清除HTML标签,清除&amp;nbsp;空格等编码
  9. android开发者博客二月-Marshmallow and User Data
  10. Centos系统python2.x升级python3.x
  11. flex中日期的格式化
  12. QT creator编程C++第一步,说“Hello world!”
  13. mybatis批量更新报错badsql
  14. TortoiseHg 学习笔记
  15. Delphi MDI 子窗体的创建和销毁 [zhuan]
  16. ubuntu14.04 terminator字体挤在一起问题
  17. php const常量 不能使用字符串连接符.链接
  18. go语言学习--指针数组和数组指针
  19. eclipse中查看安装的所有插件,并选择性的将其卸载
  20. MySQL在linux上的rpm包方式安装方法

热门文章

  1. 洛谷 P1852 [国家集训队] 跳跳棋
  2. 自定义数据类型写入SequenceFile并读出
  3. 125.乘积最大(划分性DP)
  4. iOS开发技巧&mdash;&mdash;Autolayout动画
  5. RowState 介绍
  6. SQLSERVER LATCH WINDBG
  7. 关于JS中原型链中的prototype与_proto_的个人理解与详细总结
  8. SQL:将查询结果插入到另一个表的三种情况!
  9. UI控件---UIWebView
  10. weblogic下同域不同端口下的跨域问题解决