我如何不允许使用jQuery键入文本输入字段?

zec*_*ude 7 keyboard jquery events keydown

我在文本输入字段上使用jQuery datepicker,我不想让用户使用键盘更改文本输入框中的任何文本.

这是我的代码:

$('#rush_needed_by_english').keydown(function() {
  //code to not allow any changes to be made to input field
});
Run Code Online (Sandbox Code Playgroud)

如何使用jQuery不允许在文本输入字段中键入键盘?

Pet*_*dIt 10

$('#rush_needed_by_english').keydown(function() {
  //code to not allow any changes to be made to input field
  return false;
});
Run Code Online (Sandbox Code Playgroud)

  • 使用keypress而不是keydown.keypress仍然会允许tab,ctrl-v等等,而keydown会阻止所有键.@Cheeso,我可能会迟到5年回答你的问题,但是......我回答了! (3认同)

Cᴏʀ*_*ᴏʀʏ 6

您可以简单地将字段设置为只读:

$('#rush_needed_by_english').attr('readonly', 'readonly');
Run Code Online (Sandbox Code Playgroud)

如果您使用的是jQuery 1.6+,则应该使用该prop()方法:

$('#rush_needed_by_english').prop('readOnly', true); 
// careful, the property name string 'readOnly' is case sensitive!
Run Code Online (Sandbox Code Playgroud)

或者抛弃jQuery并使用纯JavaScript:

document.getElementById('rush_needed_by_english').readOnly = true;
Run Code Online (Sandbox Code Playgroud)