类似智能购票的demo--进入页面后默认焦点在第一个输入框,输入内容、回车、right时焦点自动跳到下一个,当跳到select时,下拉选项自动弹出,并且可以按上下键选择,选择完成后再跳到下一个。
要实现的效果:进入页面后默认焦点在第一个输入框,输入内容、回车、right时焦点自动跳到下一个,当跳到select时,下拉选项自动弹出,并且可以按上下键选择,选择完成后再跳到下一个。
PS:自己模拟的一个简单效果,但仍然存在问题:网上搜了许多,关于select自动弹出的问题,仍然没有解决,现在其实觉得select那里实现的只是一个假象。当跳到第一个select时,option弹出,选择后跳到第二个,但是再返回第一个后,第一个select的option就弹不出来了。。这里该怎么实现呢???
希望同学们看到后有什么方法可以留言,可以完成一个完整的,谢谢。
$(document).ready(function () {
//keycode 37 = Left, keycode 38 = Up, keycode 39 = Right, keycode 40 = Down
//默认焦点在第一个;当input输入内容大于10、right、回车,焦点跳到下一个;按左键返回上一个;
$('input').eq(0).focus();
$("[name^='demo_']").keydown(function (e){
var k = e.keyCode;
if (k == 13 || k == 39 || $(this).val().length >= 10) { //回车 or right or >10
if($('#demo_4') || $('#demo_5')){
$(this).next().focus();
}else{
$(this).next().focus();
return false;
}
} else if (k == 37) { //left
$(this).prev().focus();
$(this).prev().focus(function (){
var obj = e.srcElement ? e.srcElement : e.target;
});
}
})
});
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<link rel="stylesheet" href="css/demo.css"/>
<script src="js/jquery-3.1.1.min.js"></script>
<script src="js/demo.js"></script>
<title>demo</title>
</head>
<body>
<div class="wrapper">
<div class="container">
<form action="#" id="form" class="form">
<div class="form_inner">
<!--<label for="demo_1">用户名:</label>-->
<input type="text" class="demo_input" id="demo_1" name="demo_1" placeholder="请输入..."/>
<!--<label for="demo_2">1111:</label>-->
<input type="text" class="demo_input" id="demo_2" name="demo_2" placeholder="请输入..."/>
<input type="text" class="demo_input" name="demo_3" placeholder="请输入..."/>
<textarea class="demo_textarea" name="demo_6" placeholder="请输入..."></textarea>
<textarea class="demo_textarea" id="demo_7" name="demo_7" placeholder="请输入..."></textarea>
<select class="demo_select" id="demo_4" name="demo_4">
<!--<select class="demo_select" id="demo_4" name="demo_4" onkeypress="return false;">-->
<option>选项一</option>
<option>选项二</option>
<option>选项三</option>
</select>
<select class="demo_select" id="demo_5" name="demo_5">
<option>选项一</option>
<option>选项二</option>
<option>选项三</option>
</select>
</div>
</form>
<br/><br/><br/>
<p>默认焦点在第一个;当input输入内容大于10、right、回车,焦点跳到下一个;按left返回上一个;</p>
</div>
</div> </body>
</html>
类似智能购票的demo--进入页面后默认焦点在第一个输入框,输入内容、回车、right时焦点自动跳到下一个,当跳到select时,下拉选项自动弹出,并且可以按上下键选择,选择完成后再跳到下一个。的更多相关文章
- select初始化添加option,通过标签给出回显值,由于回显值和初始化值option中有一个值重复,去重等问题!
第一张图片: 第二张图片 /** *该方法是为了去重,所谓去重就是 因为回显给select附上了值并设置为selected选中状态,而在我们初始化所有的select添加option元素中于回显的值重复 ...
- 打开网页自动弹出QQ对话框的实现办法
Ian今天偶然进入一个公司的企业网站,然后QQ聊天窗口这里马上就弹出与那个公司客服聊天的窗口.怀着好奇的心态,Ian分析了该公司的网站源码,发现了实现网页弹出qq对话框的原理与实现方法,相信此时此刻你 ...
- AJ学IOS(18)UI之QQ聊天布局_键盘通知实现自动弹出隐藏_自动回复
AJ分享,必须精品 先看图片 第一步完成tableView和Cell的架子的图 完善图片 键盘弹出设置后图片: 自动回复图: 粗狂的架子 tableView和Cell的创建 首相tableView为了 ...
- IE浏览器 下面的文本框,获得焦点后无法输入内容
今天遇到一个问题,在IE浏览器下面,我点击 按钮 弹出一个弹出层,里面有一个 文本编辑器和一个文本框,但是第二次弹出后,文本框和文本编辑器无法输入内容,在控制台用js代码测试 $(document) ...
- 模拟邮箱输入邮箱地址、收藏标签。input框输入内容后回车,内容显示成小方块并带删除按钮。
模拟邮箱输入邮箱地址.收藏标签: 文本框输入文字后按回车键或者分号键,输入框中的文字变成小块并带删除按钮和操作. 页面代码: <!DOCTYPE html> <%@ page lan ...
- vue4——把输入框的内容添加到页面(简单留言板)
文章地址:https://www.cnblogs.com/sandraryan/ vue最最最简单的demo(记得引入) 实例化一个vue,绑定#app的元素,要渲染的数组arr作为data. 把ar ...
- 新手遇到的问题:Easy UI的对话框老是在页面载入完毕后自己主动弹出
因为是第一次接触Easy UI,还不是非常熟悉,尝试了一下对话框功能,还是非常不错的.但问题是页面载入完毕后.全部的对话框都自己主动弹出来了,百度了好久,也没有详细说明确的,貌似别人都没有这个问题哦 ...
- popupwindow中EditText获取焦点后自动弹出软键盘
关于popupwindow中EditText获取焦点后自动弹出软键盘的问题,玩过手机qq或空间的童鞋应该知道,再点击评论时会弹出一个编辑框,并且伴随软键盘一起弹出是不是很方便啊,下面我们就来讲一下实现 ...
- vs安装后当切换到图形设计界面的时候自动弹出“正在准备安装的提升”,然后程序处于假死状态
Vs2008 安装后当切换到图形设计界面的时候自动弹出 ”正在准备安装的提示“,然后程序处于假死状态 在网上找了很多,最终解决问题: 从vs2008安装光盘中找到 /WCU/WebDesignerC ...
随机推荐
- JAVA学习之动态代理
JDK1.6中的动态代理 在Java中Java.lang.reflect包下提供了一个Proxy类和一个InvocationHandler接口,通过使用这个类和接口可以生成一个动态代理对象.JDK提供 ...
- Java中代理对象的使用小结
在某些情况下,一个客户不想或不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到了中介作用,这不仅仅使用代理模式,还可以实现适配器模式.装饰模式等. 代理对象内部含有对真实对象的引用,从而 ...
- 关于利用input的file属性在页面添加图片的问题
在页面添加图片涉及到兼容的问题怎么解决兼容问题呢?请看下面分析: 在IE浏览器上面我们能直接通过获取其input的value值来获取其图片的路径. 在火狐和谷歌需要用createObjectURL(( ...
- C#:求100到200之前所有的质数和
- node c++多线程插件 第一天 c++线程相关函数
因为不会c++,今天主要是学习了一下c++的东西,感觉非常麻烦. 目前知道了c++里创建线程createThread,返回一个内核对象(HANDLE),我的理解是,c++中系统层面上的操作(线程,文件 ...
- 3359: [Usaco2004 Jan]矩形
3359: [Usaco2004 Jan]矩形 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 8 Solved: 5[Submit][Status] ...
- ORM-Dapper学习<一>
ORM 框架简介 对象-关系映射(Object/Relation Mapping,简称ORM),是随着面向对象的软件开发方法发展而产生的.面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关 ...
- nodejs的简单爬虫
闲聊 好久没写博客了,前几天小颖在朋友的博客里看到了用nodejs的简单爬虫.所以小颖就自己试着做了个爬博客园数据的demo.嘻嘻...... 小颖最近养了条泰日天,自从养了我家 ...
- Pydev--unresolved import:解决办法
1.右键点击项目,选择Properties-->Pydev-Interpreter/Grammar 2.点击"Click here to configure an interprete ...
- Lucas定理学习(进阶中)
(1)Lucas定理:p为素数,则有: (2)证明: n=(ak...a2,a1,a0)p = (ak...a2,a1)p*p + a0 = [n/p]*p+a0,m=[m/p]*p+b0其次,我们 ...