在输入中禁用空格,并允许后退箭头?

新手上路,请多包涵

我试图禁用用户名文本字段中的空格,但是我的代码也禁用了使用后退箭头。有什么办法也允许后退箭头吗?

     $(function() {
         var txt = $("input#UserName");
         var func = function() {
                      txt.val(txt.val().replace(/\s/g, ''));
                   }
         txt.keyup(func).blur(func);
    });

小提琴:http: //jsfiddle.net/EJFbt/

原文由 jakeforaker 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 287
2 个回答

您可以添加 keydown 处理程序并防止空格键的默认操作(即 32 ):

 $("input#UserName").on({
  keydown: function(e) {
    if (e.which === 32)
      return false;
  },
  change: function() {
    this.value = this.value.replace(/\s/g, "");
  }
});

演示:http: //jsfiddle.net/EJFbt/1/

原文由 VisioN 发布,翻译遵循 CC BY-SA 3.0 许可协议

这似乎对我有用:

 <input type="text" onkeypress="return event.charCode != 32">

原文由 Dustin Spengler 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题