Css

#shurufa_a,#shurufa_num,#shurufa_q,#shurufa_z{list-style:none;margin:15px auto;clear:both;padding:;text-align:center}
#shurufa_gongneng,#shurufa_num_123,#shurufa_num_456,#shurufa_num_789{padding-left:}
#shurufa_a li,#shurufa_gongneng li,#shurufa_num li,#shurufa_num_123 li,#shurufa_num_456 li,#shurufa_num_789 li,#shurufa_num_c0 li,#shurufa_q li,#shurufa_z li{display:inline-block;width:8%;padding:5px;border:1px solid #fff;text-align:center;background:0 0;line-height:30px;margin-right:5px;color:#fff;border-radius:7px;filter:progid:DXImageTransform.Microsoft.Shadow(color=#909090, direction=120, strength=3);-moz-box-shadow:2px 2px 10px #909090;-webkit-box-shadow:2px 2px 10px #909090;box-shadow:2px 2px 10px #909090}
#shurufa_num_123 li,#shurufa_num_456 li,#shurufa_num_789 li,#shurufa_num_c0 li{clear:both;width:19%;min-width:65px;padding:15px}
#shurufa_a li:active,#shurufa_gongneng li:active,#shurufa_num li:active,#shurufa_num_123 li:active,#shurufa_num_456 li:active,#shurufa_num_789 li:active,#shurufa_num_c0 li:active,#shurufa_q li:active,#shurufa_z li:active{background:#fff;color:#000}
#shurufa_input,#shurufa_input_num{width:30%;background:0 0;border-bottom:1px solid #fff;border-left:none;border-top:none;border-right:none;border-radius:;text-align:left;color:#fff;margin:15px 10px 0 10px;float:left;padding-left:5px;font-size:17px}
#shurufa_input_num{float:none;width:30%;text-align:center}
.shurufa_gongnengtitle{float:right;padding-right:15px;margin-top:7px}

Html

<!-- 幽灵输入法  -->
<script type="text/template" id="shurufahtml">
<input type="text" name="shurufa_input" readonly="readonly" id="shurufa_input" placeholder="Input Something ..."/>
<ul id="shurufa_gongneng">
<li id="shurufa_back" class="mui-icon mui-icon-arrowthinleft" style="width: 100px;margin-top: 7px;"><h4 class="shurufa_gongnengtitle" >返回</h4></li>
<li id="shurufa_clear" class="mui-icon mui-icon-trash" style="width: 100px;margin-top: 7px;"><h4 class="shurufa_gongnengtitle" >清空</h4></li>
<li id="shurufa_send" class="mui-icon mui-icon-paperplane" style="width: 100px;margin-top: 7px;" ><h4 class="shurufa_gongnengtitle">发送</h4></li>
</ul>
<ul id="shurufa_num">
<li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li><li>7</li><li>8</li><li>9</li><li>0</li>
</ul>
<ul id="shurufa_q">
<li>Q</li><li>W</li><li>E</li><li>R</li><li>T</li><li>Y</li><li>U</li><li>I</li><li>O</li><li>P</li>
</ul>
<ul id="shurufa_a">
<li>A</li><li>S</li><li>D</li><li>F</li><li>G</li><li>H</li><li>J</li><li>K</li><li>L</li>
</ul>
<ul id="shurufa_z">
<li>Z</li><li>X</li><li>C</li><li>V</li><li>B</li><li>N</li><li>M</li>
</ul>
</script>

JS

/* 打开幽灵键盘全版  */
var shurufa_open = function(e)
{
var active_obj = e; //获取子页面的对象
$(".shurufa_input_active").removeClass("shurufa_input_active");
$(e).addClass("shurufa_input_active"); //添加标志
var val = $(e).val();
var placehoder = $(e).attr("placeholder");
var myinput = null; layer.open
({
style: 'width:100%;height:100%;background:rgba(0,0, 0, .2);margin: auto 0px;',
content: $("#shurufahtml").html(),
success:function()
{
$(".layermanim").css({"max-width":"100%"});
$(".layermcont").css({"padding":"10px 20px 15px 20px"});
$("#shurufa_input").val(val);
$("#shurufa_input").attr("placeholder",placehoder); //替换placehoder
myinput = $("#shurufa_input,.shurufa_input_active"); document.onkeydown=function(event)
{
var e = event || window.event || arguments.callee.caller.arguments[0];
var keyCode = e.keyCode || e.which;
if(keyCode >= 48 && keyCode <= 57 || keyCode >= 96 && keyCode <= 105)
{
var k = get_keycode(keyCode);
var key= $("#shurufa_input").val() + k;
$("#shurufa_input,.shurufa_input_active").val(key);
}
}
}
}); $("#shurufa_num li,#shurufa_q li,#shurufa_a li,#shurufa_z li").bind("click",function()
{
var str = $(this).text();
var v = myinput.val() + str;
myinput.val(v);
$(active_obj).val(v);
}) $("#shurufa_back").bind("click",function()
{
var v = myinput.val();
var value = v.substr(0,v.length - 1);
myinput.val(value);
$(active_obj).val(value);
}) $("#shurufa_clear").bind("click",function(){
myinput.val("");
$(active_obj).val("");
}) $("#shurufa_send").bind("click",function()
{
var myinput = $("#shurufa_input");
var v = myinput.val();
$(".shurufa_input_active").val(v);
$(active_obj).val(v);
layer.closeAll();
})
}

使用方法:

1、引入css

2、引入HTML,你也可以将HTML转化为JS(http://www.css88.com/tool/html2js/),然后在页面中插入

对任意的input:text加入onclick = "shurufa_open(this) " 和 readonly="readonly" 如:

<input id="add_lianxiren" readonly="readonly" onclick="parent.shurufa_open(this)" type="text" value="" placeholder="请输入联系人" class="mui-input-clear" />

Html - 幽灵键盘的更多相关文章

  1. 黑暗幽灵(DCM)木马详细分析

    黑暗幽灵(DCM)木马详细分析 0x00 背景 只要插上网线或连上WIFI,无需任何操作,不一会儿电脑就被木马感染了,这可能吗?近期,腾讯反病毒实验室拦截到一个“黑暗幽灵”木马的新变种,该木马功能强大 ...

  2. HTML kbd键盘元素

    1. 说明 kbd :即Keyboard Input Element(键盘输入元素).表示键盘按键的语义元素,常用于网页上对快捷键.按键说明的场景. 样式规格:内联样式. 为了在页面上突出显示,可以给 ...

  3. MVVM TextBox的键盘事件

    MVVM下RichTextBox的键盘回车事件设置为发送,不是回车 xmlns:i="http://schemas.microsoft.com/expression/2010/interac ...

  4. android键盘

    在应用的开发过程中有不少的情况下会用到自定义键盘,例如支付宝的支付密码的输入,以及类似的场景.android系统给开发者们提供了系统键盘,KeyboardView,其实并不复杂,只是有些开发者不知道罢 ...

  5. Android如何制作漂亮的自适布局的键盘

    最近做了个自定义键盘,但面对不同分辨率的机型其中数字键盘不能根据界面大小自已铺满,但又不能每种机型都做一套吧,所以要做成自适应,那这里主讲思路. 这里最上面的titlebar高度固定,下面输入的金额高 ...

  6. iOS 键盘添加完成按钮,delegate和block回调

    这个是一个比较初级一点的文章,新人可以看看.当然实现这个需求的时候自己也有一点收获,记下来吧. 前两天产品要求在工程的所有数字键盘弹出时,上面带一个小帽子,上面安装一个“完成”按钮,这个完成按钮也没有 ...

  7. WPF 捕获键盘输入事件

    最近修改的一个需求要求捕获键盘输入的 Text,包括各种标点符号. 最开始想到的是 PreviewKeyDown 或者 PreviewKeyUp 这样的键盘事件. 但是这两个事件的对象 KeyEven ...

  8. [转载]从MyEclipse到IntelliJ IDEA-让你摆脱鼠标,全键盘操作

    从MyEclipse转战到IntelliJ IDEA的经历 注转载址:http://blog.csdn.net/luoweifu/article/details/13985835 我一个朋友写了一篇“ ...

  9. html中键盘事件----在路上(16)

    键盘事件,这里以onkeyup为例: 解析:当在一个input中输入文本时,在另一个div中输出文本 在下面是本人写的小demo,供分享. 代码如下: <!DOCTYPE html> &l ...

随机推荐

  1. iOS constraint被应用于view上的时间

    在viewdidload时,constraint是没有被应用的,之后在layoutSubviews时,系统应用了constraint.但是我感觉在viewWillLayoutSubviews函数时就已 ...

  2. win10远程桌面连接

    有的情况下,Win10设置了允许远程桌面连接后,远程主机仍然不能桌面连接到目标主机上,这时可以在目标主机上尝试如下修改: 开始-->运行->gpedit.msc->计算机配置-> ...

  3. Heap:左式堆的应用例(任意序列变单调性最小价值)

    首先来说一下什么是左式堆: A:左式堆是专门用来解优先队列合并的麻烦(任意二叉堆的合并都必须重新合并,O(N)的时间). 左式堆的性质: 1.定义零路经长:节点从没有两个两个儿子节点的路经长,把NUL ...

  4. codeforces B. The Fibonacci Segment 解题报告

    题目链接:http://codeforces.com/problemset/problem/365/B 题目意思:简单来说,就是要找出最长的斐波纳契长度. 解决的方法不难,但是要注意更新左区间和右区间 ...

  5. openGL纹理映射参数解析

    GLuinttexture[1]; AUX_RGBImageRec *TextureImage[1]; Status=TRUE; // Set The Status To TRUE glGenText ...

  6. markdown下编辑latex数学公式

    在利用为知笔记编写笔记的时候,有时需要用的markdown,只要把文件名加上后缀.md,就可以使用markdown语法,以下介绍在markdown下编辑latex数学公式. 使用LaTeX写公式的基本 ...

  7. 基于Twemproxy的Redis集群方案

    概述 由于单台redis服务器的内存管理能力有限,使用过大内存redis服务器的性能急剧下降,且服务器发生故障将直接影响大面积业务.为了获取更好的缓存性能及扩展型,我们将需要搭建redis集群来满足需 ...

  8. List、Map、Set

    这样的题属于随意发挥题:这样的题比较考水平,两个方面的水平:一是要真正明白这些内容,二是要有较强的总结和表述能力.如果你明白,但表述不清楚,在别人那里则等同于不明白. 首先,List与Set具有相似性 ...

  9. **对比$_POST、$GLOBALS['HTTP_RAW_POST_DATA']和file_get_contents('php://input')

    最近在开发微信接口,又学到了一些新的技术点,今天就把学到的关于接收数据的技术点给简单的罗列下. public function __construct($token, $wxuser = ''){ $ ...

  10. poj 3517 约瑟夫环

    最简单的约瑟夫环,虽然感觉永远不会考约瑟夫环,但数学正好刷到这部分,跳过去的话很难过 直接粘别人分析了 约瑟夫问题: 用数学方法解的时候需要注意应当从0开始编号,因为取余会等到0解. 实质是一个递推, ...