zoukankan      html  css  js  c++  java
  • 前端的小Demo——涉及keyCode

    以下是我的代码:

    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>小效果</title>
    <style>
        .type{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>1){ typeTxt-=1; $("#txt").val(typeTxt);} else{ alert("数字不能小于1"); } } function down(){ typeTxt = $("#txt").val(); if(typeTxt>=1){ typeTxt++; $("#txt").val(typeTxt);} else{ alert("数字不能小于1");} } $("#txt").keyup(function(e){ if(e.keyCode == 38){ down(); } if(e.keyCode == 40) { 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>1?oInp2.value-=1:alert("不能小于1");    
        };
        oInp3.onclick=function(){
            oInp2.value=parseInt(oInp2.value)+1;    
        };
        
        //大0  48
        //大9  57
        //小0  96
        //小9  105
        
        //退格 8
        oInp2.onkeydown=function(ev){
            var ev=ev||event;
            if(((ev.keyCode<48  || ev.keyCode>57) && (ev.keyCode!=8)) && (ev.keyCode<96  || ev.keyCode>105) ){    
                return false;
            }
        };
        oInp2.onkeyup=function(){
            if(this.value<1 && ev.keyCode!=8)
            {
                this.value=1    
            }    
        };
    }
    </script>
    </head>
    
    <body>
    <input id="inp1" type="button" value="-">
    <input id="inp2" style=" 30px; text-align:center;" type="text" value="5">
    <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{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())<1){
                $(this).val("");    
            }
            else{typeTxt = $(this).val();    }
        });
           
        function up(){
            typeTxt = $("#txt").val();
            if(typeTxt>1){
                typeTxt-=1;
                $("#txt").val(typeTxt);
            }
            else{
                alert("数字不能小于1");    
            }    
        }
        function down(){
            typeTxt = $("#txt").val();
            if(typeTxt>=1){
                typeTxt++;
                $("#txt").val(typeTxt);
            }
            else{
                alert("数字不能小于1");    
            }
        }
        $("#txt").keyup(function(e){
            if(e.keyCode == 38)
            down();
            if(e.keyCode == 40)
            up();
        });
        
        $("#btn1").click(function(){
            up();
        });
        $("#btn2").click(function(){
            down();
        });
        
        
        
    })
    </script>
    </html>
  • 相关阅读:
    hdu Boring counting
    hdu Connections between cities
    hdu Median Filter
    hdu Entropy
    hdu Box Relations
    未能加载数据集 加载DataSet错误
    SqlServer中的datetime类型的空值和c#中的DateTime的空值的研究
    Spread.NET中文开发文档汇总
    ChartDirector资料小结
    AmCharts图表JavaScript Charts参数
  • 原文地址:https://www.cnblogs.com/wanliyuan/p/3884562.html
Copyright © 2011-2022 走看看