Предотвратить нажатие клавиши с предупреждением в jquery - PullRequest
1 голос
/ 28 апреля 2020

У меня есть поле ввода, которое запрещает пробелы. Поэтому я просто хочу добавить предупреждение, чтобы сообщить пользователю, что пробелы не допускаются.

Я уверен, что я очень глуп, правда, но я не могу понять это. Моя строка кода выглядит следующим образом.

<Input id="filteronly" type="text" onkeydown=()=>{if(event.keycode === 32) return false alert('no spaces allowed')}/>

Извините, мобильная клавиатура не имеет символов тегов.

Это просто один вкладыш, но он не будет работать

Спасибо

Ответы [ 4 ]

4 голосов
/ 28 апреля 2020

Ваше предупреждение недоступно, так как вы используете оператор return . Самый простой способ реорганизации вашего кода:

if(event.keyCode === 32) {
    alert('no spaces allowed');
    return false; 
}
1 голос
/ 28 апреля 2020

Это должно работать для вас-- ↓↓

function someFunction(event){
  // if(event.keyCode === 32){ //event.keyCode is deprecated but if you still want to use it, it would work
  if(event.code === 'Space') {
    event.preventDefault(); //prevents the space
    alert('no spaces allowed');
  }
}
<input id="filteronly" type="text" onkeydown="someFunction(event)"/>
1 голос
/ 28 апреля 2020

Заменить event.keycode на event.keyCode. Кстати, это свойство устарело и рекомендуется использовать code: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode

1 голос
/ 28 апреля 2020

Вы должны перейти на function для обработки нажатия клавиш, и вы пропустите опечатку keyCode, а не keycode как

 function keydown(event){
  //console.log(event.keyCode )
  if(event.keyCode === 32) {
     alert('no spaces allowed')
  }
}

function keydown(event){
  //console.log(event.keyCode )
  if(event.keyCode === 32) {
     alert('no spaces allowed')
  }
}
<input id="filteronly" type="text" onkeydown="keydown(event);"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...