在 JQuery 中使用箭头按键增加文本字段值

发布于 2024-12-02 17:45:09 字数 126 浏览 0 评论 0原文

我有一个输入框,里面有一个数值。当用户按 ARROW_UP 一次时,数字应加一。当用户按下长 ARROW_UP 时,数字应该以更大的值递增。

我正在寻找 jQuery 解决方案,但纯 JavaScript 解决方案也可以。

I have an input box with a numeric value in it. When the user press ARROW_UP once, the number should be incremented by one. When the user press a long ARROW_UP, the number should be incremented with a bigger value.

I am looking for a jQuery solution, but a plain JavaScript solution is fine as well.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

萌梦深 2024-12-09 17:45:09

//我还没有测试过,但它应该可以工作,否则你必须做一些小的调整。
// 使其仅是数字

$("#txt").keydown(function(event){

    if ( event.keyCode == 46 || event.keyCode == 8 ) {
        // dont do anything
    }
    else {
        if (event.keyCode < 48 || event.keyCode > 57 ) {
            event.preventDefault(); 
        }   
    }

});

// 对于箭头键

$("txt").keypress(function(event) {

var intVal = 0;

if ($("txt").val() != '')
{
   intVal = $("txt").val();
}


if ( event.which == 38 ) 
{
   $("txt").val(intVal + 1);
}

if ( event.which == 40 )  
{
   $("txt").val(intVal - 1);
}

});

//I have not tested it, but it should work or you have to do some minor adjustments.
// to make it numeric only

$("#txt").keydown(function(event){

    if ( event.keyCode == 46 || event.keyCode == 8 ) {
        // dont do anything
    }
    else {
        if (event.keyCode < 48 || event.keyCode > 57 ) {
            event.preventDefault(); 
        }   
    }

});

// for arrow keys

$("txt").keypress(function(event) {

var intVal = 0;

if ($("txt").val() != '')
{
   intVal = $("txt").val();
}


if ( event.which == 38 ) 
{
   $("txt").val(intVal + 1);
}

if ( event.which == 40 )  
{
   $("txt").val(intVal - 1);
}

});

浅浅 2024-12-09 17:45:09

Yahoo 的 YUI 对此有控制,ExtJS 也是如此。如果您想使用自己的工具,我建议查找 jQuery 或 ExtJS 的 KeyMap 和 KeyNav 功能。

Yahoo's YUI has controls for this, so does ExtJS. If you want to tool your own, I suggest looking up jQuery's or ExtJS's KeyMap and KeyNav capabilities.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文