Как преобразовать символ в его код клавиши?

Вот функция тайм-аута, я думаю, что нашел через Google, и это работает на меня.

От: http://code.activestate.com/recipes/473878/

def timeout(func, args=(), kwargs={}, timeout_duration=1, default=None):
    '''This function will spwan a thread and run the given function using the args, kwargs and 
    return the given default value if the timeout_duration is exceeded 
    ''' 
    import threading
    class InterruptableThread(threading.Thread):
        def __init__(self):
            threading.Thread.__init__(self)
            self.result = default
        def run(self):
            try:
                self.result = func(*args, **kwargs)
            except:
                self.result = default
    it = InterruptableThread()
    it.start()
    it.join(timeout_duration)
    if it.isAlive():
        return it.result
    else:
        return it.result   

34
задан Davіd 11 December 2017 в 15:53
поделиться

3 ответа

Для этого можно использовать функцию charCodeAt .

Рабочий пример:

 function showKeyCode () {var character = document.getElementById ("character" ) .value.substring (0, 1); var code = document.getElementById ("символ"). value.charCodeAt (0); var msg = "Код клавиши для символа \" "+ +" \ ":" + code + "."; оповещение (сообщение); } 
   
36
ответ дан 27 November 2019 в 16:53
поделиться

Что вы подразумеваете под "keyCode"? В разных браузерах разные значения keyCode в событиях keyup и keydown , которые не обязательно будут соответствовать коду ASCII для соответствующего символа. Для буквенно-цифровых клавиш событие keypress предоставит вам код ASCII в большинстве браузеров через charCode или , которые имеют свойства . Эта страница полезна.

Обновление, сентябрь 2015 г.

Как указал Ян в комментариях, keyCode в конечном итоге будет заменен старшим ключом свойство. Однако для этого пока нет большой поддержки браузерами.

13
ответ дан 27 November 2019 в 16:53
поделиться

Найдите таблицу кодов клавиш / ascii, например эта , и поместите ее в массив так, чтобы array ['char'] = keycode. Это утомительно, но код выполняется довольно быстро.

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

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