jquery 如何使用JavaScript在文本框中停止写入

xesrikrc  于 2022-12-03  发布在  jQuery
关注(0)|答案(4)|浏览(175)

我只想在文本框中输入3个单词。我的JavaScript代码如下:

jQuery('#Txt_Report').keyup(function (event) {
   if (event.which == 32) {
      count = jQuery('#Txt_Report').val().split(' ').length;
      if (count > 2) {
         /////////////
         //How can I stop entering text in txt_report anymore?
         /////////////
      });
   }
}

正如你所看到的,我想阻止用户不要输入超过3个字。如果有人知道如何处理这一点,请帮助。

e5nqia27

e5nqia271#

您不能使用keyup来执行preventDefault。使用keydownkeypress应该可以。示例如下:

$('#Txt_Report').keypress(function(e) {
   if (e.which == 32) {
      var count = this.value.split(' ').length;
      if (count > 2) {
         e.preventDefault();
      }
   }
});
xwmevbvl

xwmevbvl2#

event.preventDefault();keydown一起使用(如注解所建议的)

演示:http://jsfiddle.net/wTvmz/

jQuery('#Txt_Report').keydown(function (event) {
   if (event.which == 32) {
      count = jQuery('#Txt_Report').val().split(' ').length;
      if (count > 2) {
         event.preventDefault();
      }
   }
});
oogrdqng

oogrdqng3#

将disabled属性设置为disabled。

jQuery('#Txt_Report').keyup(function (event) {
   if (event.which == 32) {
      count = jQuery('#Txt_Report').val().split(' ').length;
      if (count > 2) {
         /////////////
         //How can I stop entering text in txt_report anymore?
         /////////////
         jQuery('#Txt_Report').attr('disabled', 'disabled');
      });
   }
}

参考:http://www.w3schools.com/tags/att_input_disabled.asp

js81xvg6

js81xvg64#

为什么不使用“keypress”并返回false?
http://jsfiddle.net/kW9tF/

$('#txt').keypress(function (event) {
  return false;
});

更新的代码示例:http://jsfiddle.net/kW9tF/1/

$('#txt').keypress(function (event) {
    var count = $(this).val().split(' ').length;
    if (count > 2) {
      return false;
    };
 });

相关问题