如何创建阻止输入的默认函数

How to create prevent default function for input?

本文关键字:输入 默认 函数 何创建 创建      更新时间:2023-09-26

当用户输入数值时,我只想显示我想设置的偶数,以防止默认值为奇数。

HTML:

Enter any number: <input type="text">
                  <p id="even"></p>

JavaScript:

function (e) {
    e.preventDefault();
}

您可以向输入元素添加一个事件侦听器,并验证数字是否为偶数。

演示

JavaScript

var num = document.getElementById('num');
var out = document.getElementById('out');
var isNumber = function(n) { return n == parseFloat(n); }
var isEven = function(n) { return isNumber(n) && (n % 2 == 0); }
var isOdd = function(n) { return isNumber(n) && (Math.abs(n) % 2 == 1); }
var myFunction = function(e) {
    var val = num.value;
    if (isEven(val)) {
        out.innerHTML = val;
    } else {
        e.preventDefault();
    }
};
num.addEventListener('blur', myFunction, false);

HTML

Enter any number: <input type="text" id="num" />
<hr />
Value: <span id="out"></span>

更新

如果要进行实时验证,请将blur更改为keyup

num.addEventListener('keyup', myFunction, false);

如果您正在询问如何检测奇数,您可以使用类似的东西

function whatever(e){
    if(value % 2 != 0){
        e.preventDefault()
    }else{
        //Do something
    }
}

可能是这样的:

$("input").mouseup(function() {
  var num = $(this).val();
   if (num % 2) {
     console.log(num);
  }
});

编辑:在这里,它是简单的JS:

var el = document.getElementsByTagName("input")[0];
el.onkeyup = function () {
    var num = el.value;
    if (num % 2 == false) {
        console.log(num);
    }
};