使用空格键对焦时删除输入中的第一个空格

时间:2019-04-16 10:24:02

标签: javascript html css

按下空格键时,它将调用一个函数,并且该函数将焦点放在输入标签上,并且已经在该输入中创建了一个空格,我不希望这样做。如何删除该空间?

这是我所做的。.

<input type="text" class="user-answer" name="useranwer">
var userAnwer = document.querySelector('.user-answer');

window.addEventListener('keypress', myFun);

function myFun(e) {
  if (e.keyCode === 32) {
    userAnwer.focus();
  }
}

2 个答案:

答案 0 :(得分:3)

您可以使用Event.preventDefault()。您还必须检查该值以允许留有空格后缀。

var userAnswer = document.querySelector('.user-answer');
window.addEventListener('keypress', myFun);

function myFun(e) {
  if(e.keyCode === 32 && (e.target.value == undefined || e.target.value == "")) {
    e.preventDefault();
    userAnswer.focus();
  }
}
<input type="text" class="user-answer" name="useranswer">

答案 1 :(得分:1)

您可以防止在此示例中添加空格的默认情况发生。

function myFun(e) {
    if(e.keyCode === 32 && userAnwer.value.length == 0) {

        e.preventDefault();

        userAnwer.focus();
    }
}