前端的小Demo——涉及keyCode

以下是我的代码:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>小效果</title>
<style>
.type{width:32px;}
</style>
</head> <body>
<div>
<button id="btn1">-</button>
<input type="text" class="type" id="txt">
<button id="btn2">+</button>
</div>
</body>
<script type="text/javascript" src="http://code.jquery.com/jquery.js"></script>
<script>
$(function(){
var typeTxt; //只能输入大于1的数字
$("#txt").keyup(function(){
$(this).val($(this).val().replace(/[^1-9.]/g,''));
}).bind("paste",function(){
$(this).val($(this).val().replace(/[^1-9.]/g,''));
}).css("ime-mode", "disabled"); //取值
$("#txt").change(function(){
typeTxt = $("#txt").val();
}) function up(){
typeTxt = $("#txt").val();
if(typeTxt>){ typeTxt-=; $("#txt").val(typeTxt);}
else{ alert("数字不能小于1"); }
}
function down(){
typeTxt = $("#txt").val();
if(typeTxt>=){ typeTxt++; $("#txt").val(typeTxt);}
else{ alert("数字不能小于1");}
}
$("#txt").keyup(function(e){
if(e.keyCode == ){ down(); }
if(e.keyCode == ) { up();}
}); $("#btn1").click(function(){ up(); });
$("#btn2").click(function(){ down(); });
})
</script>
</html>
用的是正则表达式的方法。
下面是主管的代码:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<script>
window.onload=function(){
var oInp1=document.getElementById("inp1");
var oInp2=document.getElementById("inp2");
var oInp3=document.getElementById("inp3");
oInp1.onclick=function(){
oInp2.value>?oInp2.value-=:alert("不能小于1");
};
oInp3.onclick=function(){
oInp2.value=parseInt(oInp2.value)+;
}; //大0 48
//大9 57
//小0 96
//小9 105 //退格 8
oInp2.onkeydown=function(ev){
var ev=ev||event;
if(((ev.keyCode< || ev.keyCode>) && (ev.keyCode!=)) && (ev.keyCode< || ev.keyCode>) ){
return false;
}
};
oInp2.onkeyup=function(){
if(this.value< && ev.keyCode!=)
{
this.value=
}
};
}
</script>
</head> <body>
<input id="inp1" type="button" value="-">
<input id="inp2" style=" width:30px; text-align:center;" type="text" value="">
<input id="inp3" type="button" value="+">
<h3>要求</h3>
<ul>
<li>点击加减按钮可以使文本框内数字增减1但不能小于1</li>
<li>文本框内只能输入数字,并且大小键盘都可以,可以用退格键删除文本框里的内容</li>
<li>文本框内不可输入小于1的整数</li>
</ul>
</body>
</html>
再下面,是我不用表达式的方案,不过还有个小bug
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>小效果</title>
<style>
.type{width:32px;}
</style>
</head> <body>
<div>
<button id="btn1">-</button>
<input type="text" class="type" id="txt">
<button id="btn2">+</button>
</div>
</body>
<script type="text/javascript" src="http://code.jquery.com/jquery.js"></script>
<script>
$(function(){
var typeTxt; //只能输入大于1的数字
$("#txt").keyup(function(){
if(isNaN($(this).val()) || parseInt($(this).val())<){
$(this).val("");
}
else{typeTxt = $(this).val(); }
}); function up(){
typeTxt = $("#txt").val();
if(typeTxt>){
typeTxt-=;
$("#txt").val(typeTxt);
}
else{
alert("数字不能小于1");
}
}
function down(){
typeTxt = $("#txt").val();
if(typeTxt>=){
typeTxt++;
$("#txt").val(typeTxt);
}
else{
alert("数字不能小于1");
}
}
$("#txt").keyup(function(e){
if(e.keyCode == )
down();
if(e.keyCode == )
up();
}); $("#btn1").click(function(){
up();
});
$("#btn2").click(function(){
down();
}); })
</script>
</html>
前端的小Demo——涉及keyCode的更多相关文章
- 一周一个小demo — 前端后台的交互实例
这一周呢,本K在大神的指导下,完成了一个利用ajax与php文件上传处理相结合的一个留言板功能的小实例,下面就让本K来带大家瞅瞅如何实现这一种功能. 一.界面概览 首先我们来看一下这个小demo的具体 ...
- 新手 gulp+ seajs 小demo
首先,不说废话,它的介绍和作者就不在多说了,网上一百度一大堆: 我在这里只是来写写我这2天抽空对seajs的了解并爬过的坑,和实现的一个小demo(纯属为了实现,高手请绕道); 一.环境工具及安装 1 ...
- js存款计算器原生小demo
大家好,本人是初入前端的一枚程序猿,深知js底层开发的重要性,这也是我的软肋所在(曾经以为),渐渐的明白了一个道理,饭要一口口吃,路要一步步走,这也是我想告诉给所有刚刚进入IT行业的技术员们,沉下心, ...
- Swift基础之实现一个镂空图片的小Demo
前两天看了别人的文章,涉及到了镂空的展示,所以我在这里把实现的内容写成Swift语言的小Demo,供大家欣赏 首先,需要创建导航视图,然后创建两种展示方式的按钮 let vc = ViewContro ...
- H5 PWA技术以及小demo
H5 PWA技术 1.原生app优缺点 a.体验好.下载到手机上入口方便 b.开发成本高(ios和安卓) c.软件上线需要审核 d.版本更新需要将新版本上传到不同的应用商店 e.使用前需下载 2.we ...
- 移动端页面弹幕小Demo实例说明
代码地址如下:http://www.demodashi.com/demo/11595.html 弹幕小Demo实例地址,点击看效果 写在前面:尝试做了一下弹幕的实例,欢迎提出并指正问题 问题说明: D ...
- 2、链接数据库+mongodb基础命令行+小demo
链接数据库并且打印出数据的流程:1.在CMD里面输入 mongod 2.在CMD里面输入 mongo 3.在输入mongodb命令行里面进行操作,首先输入 show dbs 来查看是否能够链接得上库4 ...
- js特效 15个小demo
js特效和15个小demo 代码如下:images文件夹未上传 1.图片切换: <!DOCTYPE html> <html> <head> <title> ...
- SpringBoot-Vue实现增删改查及分页小DEMO
前言 主要通过后端 Spring Boot 技术和前端 Vue 技术来简单开发一个demo,实现增删改查.分页功能以及了解Springboot搭配vue完成前后端分离项目的开发流程. 开发栈 前端 开 ...
随机推荐
- 开源CMS的忠实粉丝——We7
说到开源CMS这个词,首先来说一下什么是开源,因为很多人可能会存在一个误区,开源就是免费使用,其实不然.开源产品,从事软件开发的专业人士都很清楚,开源就是开发源码,是把一个软件的开发过程中的技术结构, ...
- 灵光乍现,lua数据绑定
MVVM的核心就是数据驱动,数据驱动的核心就是数据绑定. 我一直在思考,如何使用lua做一个数据绑定的功能,仔细思考一下,数据绑定需要做到的功能很简单,就是当一个数据改变时,能主动回调一个或多个函数就 ...
- 【jquery插件】收藏
http://www.oschina.net/project/tag/356/jquery-file-upload
- 后台启动mysql ,redis
mysqld_safe --user=mysql & redis.conf daemonize no修改为daemonize yes
- iOS 10 的适配问题-b
随着iOS10发布的临近,大家的App都需要适配iOS10,下面是我总结的一些关于iOS10适配方面的问题,如果有错误,欢迎指出. 1.系统判断方法失效: 在你的项目中,当需要判断系统版本的话,不要使 ...
- Linux桌面扩展 Docky
Docky是从GNOME Do项目剥离出来的一个Dock软件,最初即为GNOME Do的“Docky”模式. 后来开发者觉得,GNOME Do是个快速启动工具,弄个Docky模式有点不伦不类,于是,D ...
- why you write code so slow.
今天我们要写一个日历表,用以存储所有的节假日. 虽然这个表设计的并不是很妙.但是将就着继续了. 让小弟把该表数据初始化3-5年的,结果一上午还没有出来,着急了,自己写了一个初始化的工具. 分享出来. ...
- 5.3:从bean的实例中获取对象
5.3 从bean的实例中获取对象 在getBean方法中,getObjectForBeanInstance是个高频率使用的方法,无论是从缓存中获得bean还是根据不同的scope策略加载bean. ...
- Hibernate一对一单向外键关联
一.一对一单向外键关联: 一对一单向外键关联主要用到了以下两个注解: 1.OneToOne(cascade=CasecadeTYPE.ALL); cascade=CasecadeTYPE.ALL:表示 ...
- Partition an array around an interger
Partition an array of integers around a value such taht all elements less than x come before element ...