如何使输入类型编号不可编辑但仍然有效?
How to make input type number un-editable but still functioning?
<input readonly='readonly' id ='testid' name='testname' type='number' min ='1'>
我试过这个但没有用。有什么办法吗?比如使用 css 或 javascript.
我的 jsfiddle。
这来自 Disable writing in input type number HTML5,但需要 jQuery。
$("[type='number']").keypress(function (evt) {
evt.preventDefault();
});
没有jQuery代码是:(输入是一个输入字段)
input.onkeypress=function(evt){
evt.preventDefault();
};
你好,我有一个工作代码,但我认为这不是最好的方法。我合并了
的答案
How to disable backspace if anything other than input field is focused on using jquery
和 TuomasK 的回答
这是工作代码。
http://jsfiddle.net/vta96mp1/1/
HTML
<input class='testInput' id ='testid' value = '1' name='testname' type='number' min ='1'>
JS
$("#testid").keypress(function (evt) {
evt.preventDefault();
});
$(document).keydown(function(e) {
var elid = $(document.activeElement).hasClass('textInput');
console.log(e.keyCode + ' && ' + elid);
//prevent both backspace and delete keys
if ((e.keyCode === 8 || e.keyCode === 46) && !elid) {
return false;
};
});
试试这个。这个对我有用。
$("#testid").keypress(function (e) {
e.preventDefault();
}).keydown(function(e){
if ( e.keyCode === 8 || e.keyCode === 46 ) {
return false;
}
});
<!DOCTYPE html>
<html>
<body>
<p>A function is triggered when the user is pressing a key in the input field.</p>
<input type="text" id="demo0">
<input type="text" id="demo1">
<input type="text" id="demo2" onkeypress="myFunction2()">
<script language="javascript" type="text/javascript">
document.getElementById("demo0").onkeypress = function() {
myFunction0()
};
document.getElementById("demo1").addEventListener("keypress", myFunction1);
function myFunction0() {
document.getElementById("demo0").style.backgroundColor = "yellow";
}
function myFunction1() {
document.getElementById("demo1").style.backgroundColor = "green";
}
function myFunction2() {
document.getElementById("demo2").style.backgroundColor = "red";
}
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<h1>No text & number</h1>
<div>
<input id="ESP" type="number" name="ESP" onKeypress="event.preventDefault();">
</div>
</body>
</html>
<input readonly='readonly' id ='testid' name='testname' type='number' min ='1'>
我试过这个但没有用。有什么办法吗?比如使用 css 或 javascript.
我的 jsfiddle。
这来自 Disable writing in input type number HTML5,但需要 jQuery。
$("[type='number']").keypress(function (evt) {
evt.preventDefault();
});
没有jQuery代码是:(输入是一个输入字段)
input.onkeypress=function(evt){
evt.preventDefault();
};
你好,我有一个工作代码,但我认为这不是最好的方法。我合并了
的答案How to disable backspace if anything other than input field is focused on using jquery
和 TuomasK 的回答
这是工作代码。
http://jsfiddle.net/vta96mp1/1/
HTML
<input class='testInput' id ='testid' value = '1' name='testname' type='number' min ='1'>
JS
$("#testid").keypress(function (evt) {
evt.preventDefault();
});
$(document).keydown(function(e) {
var elid = $(document.activeElement).hasClass('textInput');
console.log(e.keyCode + ' && ' + elid);
//prevent both backspace and delete keys
if ((e.keyCode === 8 || e.keyCode === 46) && !elid) {
return false;
};
});
试试这个。这个对我有用。
$("#testid").keypress(function (e) {
e.preventDefault();
}).keydown(function(e){
if ( e.keyCode === 8 || e.keyCode === 46 ) {
return false;
}
});
<!DOCTYPE html>
<html>
<body>
<p>A function is triggered when the user is pressing a key in the input field.</p>
<input type="text" id="demo0">
<input type="text" id="demo1">
<input type="text" id="demo2" onkeypress="myFunction2()">
<script language="javascript" type="text/javascript">
document.getElementById("demo0").onkeypress = function() {
myFunction0()
};
document.getElementById("demo1").addEventListener("keypress", myFunction1);
function myFunction0() {
document.getElementById("demo0").style.backgroundColor = "yellow";
}
function myFunction1() {
document.getElementById("demo1").style.backgroundColor = "green";
}
function myFunction2() {
document.getElementById("demo2").style.backgroundColor = "red";
}
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<h1>No text & number</h1>
<div>
<input id="ESP" type="number" name="ESP" onKeypress="event.preventDefault();">
</div>
</body>
</html>