jQuery只输入数字

我只想输入数字。 我无法将输入类型更改为“数字”。 所以我有这个代码。

Number :   $(document).ready(function() { $("#quantity").off("keyup").on("keyup", function(e) { if ((e.shiftKey || (e.keyCode  57)) && (e.keyCode  105)) { e.preventDefault(); } if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 190]) !== -1 || // Allow: Ctrl+A (e.keyCode == 65 && e.ctrlKey === true) || // Allow: home, end, left, right (e.keyCode >= 35 && e.keyCode <= 39)) { // let it happen, don't do anything return; } }); }); 

并且它不起作用但是如果我将选择器更改为$("#quantity").off("keyup").on("keyup", function(e) {它有效。我没有更改第一个选择器

试试这样,

 function isNumber(n){ return (parseFloat(n) == n); } $("document").ready(function(){ $("input").keyup(function(event){ var input = $(this).val(); if(!isNumber(input)){ $(this).val(input.substring(0, input .length-1)); } }); }); 

演示