当用户输入数值时,我只想显示偶数,我想设置阻止奇数值的默认值。
HTML:
Enter any number: <input type="text">
<p id="even"></p>
JavaScript的:
function (e) {
e.preventDefault();
}
答案 0 :(得分:0)
可能是这样的:
$("input").mouseup(function() {
var num = $(this).val();
if (num % 2) {
console.log(num);
}
});
EDIT:和普通JS中的here it is:
var el = document.getElementsByTagName("input")[0];
el.onkeyup = function () {
var num = el.value;
if (num % 2 == false) {
console.log(num);
}
};
答案 1 :(得分:0)
如果您询问如何检测奇数值,可以使用类似
的内容function whatever(e){
if(value % 2 != 0){
e.preventDefault()
}else{
//Do something
}
}
答案 2 :(得分:0)
您可以向输入元素添加事件侦听器,并验证该数字是否为偶数。
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);
Enter any number: <input type="text" id="num" />
<hr />
Value: <span id="out"></span>
如果您想要实时验证,请将blur
更改为keyup
。
num.addEventListener('keyup', myFunction, false);