を使用して、私はそれはあなたがいない何かを挿入するたびにそのブラウザの防衛meganismのいくつかの種類だと思います数値入力フィールドの中にある数字とそれから値を要求すると、単純にnull/undefinになりますed。 type = "text"では、これはうまくいきます。
また、常にテキストを置き換えるため、カーソルはテキストの最後に置かれます。したがって、キーボードの操作だけで数字の前に - (ダッシュ)を挿入することはできません。数字の前にあるダッシュは無効です!
番号フィールドに-60
と入力することもできますが、最初に挿入する必要があります。 60、次にマイナス文字。
また、keyUpの代わりに$('.minus').input(
を使用することをお勧めします。マウスを使用して値(とスクロールホイール)も挿入できるためです。 * *除外することで
$('.minus').keyup(function() {
var txt = $(this).val();
console.log("value i got:",txt); //i added this logging to see that you didn't get anything on number.
var nwtxt = txt.replace(/[^\d-]/ig, "");
if(nwtext !==txt) //add this if statement so your cursor does not constantly jump to the end!
$(this).val(nwtxt);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="number" maxlength="9" class="tekstvakjes minus" placeholder="number">
<input type="text" maxlength="9" class="tekstvakjes minus" placeholder="text">
、あなたは右* *削除意味ですか? – TheLostMind
したがって、負数のみを許可したいですか? – baao
いいえ、負の数と正の数の両方を含める – Webconstructor