【问题标题】:javascript prevent space button to be typedjavascript阻止键入空格按钮
【发布时间】:2014-09-12 11:55:29
【问题描述】:

一旦用户在字段中输入空格字符,我如何防止用户在文本字段中进一步输入?我尝试了几行代码,但没有用……知道为什么吗???

HTML

<input id="username" type="text" onkeyup="abc(event);" />

Javascript

function abc(event){
   for(i=0;i<document.getElementById("username").value.length;i++){
      if(document.getElementById("username").value.charCodeAt(i) == 32){
         event.preventDefault();
      }
    }
}

【问题讨论】:

  • 为了便于阅读,请考虑使用indexOfmatch 来确定值是否包含空格,而不是遍历字符。

标签: javascript textfield


【解决方案1】:

您可以通过将此侦听器添加到您的输入来防止使用空间。

function preventSpace(e) {
   var char = e.which || e.charCode;
   if(char == 32) {
      e.preventDefault();
   }
}

HTML

<input id="username" type="text" onkeypress="preventSpace(event);" />

【讨论】:

  • 谢谢......老兄现在它正在工作......通过添加 onkeypress 事件监听器
【解决方案2】:

你应该使用 event.stopPropagation();

你的听众一团糟,试试这个吧:

  function abc(event) {
    if(event.keyCode === 32) {
      console.log("space");
      event.stopPropagation();
      event.preventDefault();
    }
  }

您还应该收听keypresskeydown

【讨论】:

  • 感谢您的回答 .. 兄弟 .. 这只是我的事件侦听器 .. 从 onkeyup tp keypress 更改为 .. 现在它可以正常工作了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-05
  • 1970-01-01
相关资源
最近更新 更多