Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

input type=numberの上下キーでの増減を無効にする

 input type=numberの値が上下キーで増減するのを無効にする必要があったので、HTML属性で有効無効を切り替えられるのかと思ったけれど、無効にはできないようなので、JQueryで対処。
 押したキーを無効化するだけですが、検索して調べる人もいると思うので書いておきます。

 画面上のすべてのinput type=numberに対して効くので、一部のinputだけに適応させたい場合はセレクタでidやclassを指定してあげてください。

$(function ()
{
    $('input[type=number]').keydown(function (event)
    {
        switch (event.key)
        {
            case 'ArrowUp':
            case 'ArrowDown':
                return false;
        }
    });
});

 「矢印ボタンを出さない」と「マウススクロールでの増減無効化」は実装例がたくさんあるのだけれど、上下キー無効はあまり必要ないのかな。
 間違ってカーソルキーを押しちゃった時にいつのまにか値が変わっていたら嫌なので需要はあると思うんですけどね。金額入力とか。

4126takeuchi
新潟県でWeb製作会社の代表やってます。1999年創業。 開発はほとんど引退状態で社員に教えてもらう機会のほうが多いですが、たまに古いHTMLやJavaScriptの改修で苦しんでいると手助けします。 NetscapeやcHTMLが懐かしいインターネット老人会員。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away