JS操作输入框内数值递增递减,在IE浏览器中单击递增或递减按钮偶尔输入框内的值不变,单在火狐与苹果浏览器中每次单击递增或递减按钮都有效。感觉在IE浏览器重反应比较迟钝,有些延时.求大神指点,有没有办法可以解决IE下的问题?火狐浏览器Internet ExplorerJavaScript苹果

解决方案 »

  1.   

    代码不方便贴上来,代码很简单,就是获取到输入框的值进行++value与--value的操作。
      

  2.   

    要是只是你说的那么简单,不是挺快的么!
    <input class="a" style="width:500px" value="1">
    <input id="a" type="button" value="+">
    <input id="b" type="button" value="-">
    <script src="http://code.jquery.com/jquery-latest.js"></script>
    <script>
    var plus = true;
    var keep = false;
    function add(){
    var v = $(".a").val();
    if(plus)
    $(".a").val(++v);
    else
    $(".a").val(--v);
    if(keep)
    setTimeout(add, 0);
    }
    $("#a").mousedown(function(){keep=true;plus=true;add();});
    $("#a").mouseup(function(){keep=false});
    $("#b").mousedown(function(){keep=true;plus=false;add();});
    $("#b").mouseup(function(){keep=false});</script>
      

  3.   

    如果是用户快速操作可以考虑disable掉
      

  4.   

    不能disable,输入框需要支持手工输入,我在计算方法上包装了一层用setInterval(add,0)去调用递增方法,速度是提上来来,却总是报一个“无效参数”的js错误,但不影响程序运行???很奇怪...
      

  5.   

    我的意思是等到结果输出后再运行用户操作,很像异步的loading处理
      

  6.   

    请教大家:setInterval 调用的函数可以带参数么?
      

  7.   

    自然是可以传递参数的
    setInterval(function(){
       ontime(1);
    },1);
    function ontime(i){alert(i);}
    无代码,无真相,此乃至理.因为自己搞不懂的问题描述起来多半也是乱七八糟
      

  8.   

    呵呵,我这样写就出问题了:
    <script>
    var m = 0;
    var n = 1;
    var ttime = setInterval(function(){
       ontime(m,n);
    },1);
    clearInterval(ttime);
    function ontime(j,k){alert(j);alert(k);}
    </script>
    改为这样就OK了
    <script>
    var m = 0;
    var n = 1;
    var ttime = setInterval(function(){
       ontime(m,n);
    },1);
    function ontime(j,k){alert(j);alert(k);clearInterval(ttime);}
    </script>
      

  9.   

    而且只执行一次的话直接用setTimeout就行了,不用你那么麻烦
      

  10.   


    可以function fun1(v){
        var param = v;
        return function(){  //这行代码返回了一个函数地址,给 setInterval 第一个参数
            alert(param);   //这里的 param 虽然在函数体内没有定义,但是根据变量作用域查找原则,它就是上面 var param 的值
        }
    }
    setInterval(fun1("sth."), 100);
      

  11.   

    你有遇到在用JS在IE中递增输入框内的数值时,感觉总是会有些延时么。在其他的浏览器中没有延时的感觉,是不是IE本身就有着问题。