Event.PreventDefault () не работает в японской клавиатуре Vue

Следующий код - это моя ловушка, чтобы принимать только целочисленное значение, вводимое пользователем:

isNumber: function(evt) {            
        evt = (evt) ? evt : window.event;
        var charCode = (evt.which) ? evt.which : evt.keyCode;

        if ((charCode >= 48 && charCode <= 57) || (charCode >= 96 && charCode <= 105) || charCode == 8 || charCode == 46 ||
        charCode ==36 || charCode ==35){  
            console.info("Im in if", charCode)                
            return true;
        } else {
            console.info("Im in else", charCode)

            //evt.stopImmediatePropagation();
            //evt.stopPropagation();
            evt.preventDefault();
            return false;

        }
    },

ТЕКСТОВОЕ ОКНО

<ui-textbox label = "initial cost"
    name = "cost"
    v-validate = "`numeric|decimal`"
    v-on:keydown = "isNumber"
    :maxlength = "18"
    :enforceMaxlength = "true"
    value = 0.00
    format = "number"
></ui-textbox>

Это хорошо работает, когда я использую английский формат клавиатуры. Но когда я перехожу на японский язык, это не действует. evt.preventDefault() может помочь в этом, я добавил evt.stopImmediatePropagation() и evt.stopPropagation(), чтобы опробовать их функциональность, но все же мне не повезло, и я не могу заставить ничего работать.

С ВАШЕЙ ССЫЛКОЙ НЕ ЖЕ. Ссылка, которую вы указали, работает только на английской клавиатуре. Но при переходе на японский язык не работает.

Итак, проблема в том, что вы не входите в блок кода else? Если вам нужны коды клавиш для проблемы совместимости, вы можете использовать этот веб-сайт, чтобы получить их: keycode.info

Seblor 20.04.2018 10:22

@Seblor Я иду внутрь блока кода else, но не мешаю пользователю вводить нецелочисленные значения.

user6632933 20.04.2018 10:23

Вы можете дать нам jsfiddle или сниппет?

Seblor 20.04.2018 10:25

@Seblor Возвращенный ключевой код - 229, но даже я заблокировал его, он все равно отображается.

user6632933 20.04.2018 10:27

@Seblor NO. Это не дубликат. Если вы попытаетесь переключить клавиатуру на японский язык Microsoft IME, вы поймете, что я имел в виду. В настоящее время я создаю JSFiddle.

user6632933 20.04.2018 10:31

Когда вызывается этот код? Просто чтобы быть уверенным в очевидном: он должен вызываться, когда происходит нажатие клавиши.

Eytibi 20.04.2018 10:53

@Eytibi Да, во время нажатия. JacobGoh дал мне эту ссылку stackoverflow.com/questions/16029475/…, но как я могу применить ее к моей функции?

user6632933 20.04.2018 10:55

Этот рабочий пример у вас работает? Я знаю, что это не идеально, потому что это приведет к сбросу позиции набора текста. Кроме того, есть причина, по которой вы не можете использовать тип ввода number?

t.niese 20.04.2018 11:12

@ t.niese Это работает. Но как его вставить или использовать? И я использую JS. Обновлю свой вопрос для поля ввода.

user6632933 20.04.2018 11:15

@ramedju Согласно ссылке от JacobGh, вы должны привязать свою функцию (дополнительно) к событию изменения, чтобы гарантировать, что она запускается также для японских клавиатур.

Eytibi 20.04.2018 14:11
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
10
717
0

Другие вопросы по теме