即使我的字段未禁用或只读,我是否可以阻止HTML文本字段输入?我有这个要求。
也许我可以通过JS或jQuery阻止所有输入?
答案 0 :(得分:27)
你可以使用jQuery ..你可以这样做
$('input').keypress(function(e) {
e.preventDefault();
});
或强>
您可以返回false而不是使用preventDefault()
。请参阅下面的脚本
$('input').keypress(function(e) {
return false
});
请参阅fiddle
或强>
没有Javascript的简化版本如下所示。只需更改HTML,如下所示
<input type="text" onkeypress="return false;"/>
请参阅fiddle
答案 1 :(得分:3)
如果您正在寻找只读输入,一个简单的方法是在输入 HTML 中添加“只读”。例如,
<input type="number" readonly>
这样,它就不会干扰表单提交或其他事件侦听器。 'readonly'的输入仍然会被提交,但'disabled'的输入不会被提交。
答案 2 :(得分:1)
您可以在input
事件中返回false,或者在每次用户尝试编写内容时使用.val('')
重置字段:
$('input').input(function(e) {
$(this).val('');
});
希望这有帮助。
$('input').on('input', function(e) {
$(this).val('');
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='text' />
&#13;
答案 3 :(得分:1)
如果您希望字段完整无懈可击。
$('input').focus(function(e) {
$(this).blur();
});
答案 4 :(得分:0)
可接受的答案对我来说很好,但我还想添加 Shift , Esc 和 delete 键。在这种情况下,请使用keydown
而不是keypress
:
$('input').keydown(function(e) {
e.preventDefault();
});