jQuery: как отфильтровать неклавиши символов на событии нажатия клавиши?

Может быть, посмотрите на что-то вроде этого. Он использует обещания Bluebird и библиотеку запросов-обещаний

const Promise = require('bluebird');
var rp = require('request-promise');

const urlList = ['http://www.google.com', 'http://example.com']

async function getList() {
  await Promise.map(urlList, (url, index, length) => { 

    return rp(url)
      .then((response) => {

        console.log(`${'\n\n\n'}${url}:${'\n'}${response}`);
        return;
      }).catch(async (err) => {
        console.log(err);
        return;

      })


  }, {
    concurrency: 10
  }); //end Promise.map

}

getList();

37
задан Dave Jarvis 17 March 2018 в 22:31
поделиться

3 ответа

Если Вы только хотите сделать что-то, когда вход поля на самом деле изменяется, необходимо использовать input событие вместо keypress событие. Если Вы хотите поддерживать IE < 9 в эти дни, Вам будет нужно его событие propietary propertychange также.

В jQuery можно использовать его как это:

$('input').on('propertychange input', function (e) {
    // will fire directly but only when input changes
});
0
ответ дан 27 November 2019 в 04:53
поделиться

Вы можете использовать подобные регулярные выражения

$('something').keypress(function(e) {
    if(e.match(YourRegularExpressionHere)) {
        //do something
    } 
});

Это будет делать что-то, только если оно соответствует регулярное выражение.

Посмотрите на регулярные выражения. http://www.regular-expressions.info/javascript.html

-4
ответ дан 27 November 2019 в 04:53
поделиться
<script>
    $("input").keypress(function (e) {
        if (e.which !== 0 &&
            !e.ctrlKey && !e.metaKey && !e.altKey) {
            alert(String.fromCharCode(e.which));
        }
    });
</script>

Кажется, отлично работает с jQuery 1.4.2, FF, IE, Chrome.

Чтобы вникнуть в беспорядок, связанный с обработкой событий клавиатуры JS, см .: Безумие JavaScript: события клавиатуры


Обновлено для фильтрации комбинаций клавиш ctrl, meta и alt в соответствии с комментарием Дэниела. .

28
ответ дан 27 November 2019 в 04:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: