preventDefault () не забудет в Mozilla

Я хочу избегать ввода hypen для ввода в текстовое поле. Поле текстового поля предназначено для номера телефона, который находится в формате США, поэтому я добавляю (тире) после 3-го и 6-го разрядов через JQuery, который автоматически добавляется при входе пользователя, но я не хочу, чтобы пользователь вводил - (тире ) вручную через клавиатуру.

$("#someID").keydown(function (e){
if(e.keyCode==189){
    e.preventDefault();
}else{

    var myLength = $(this).val().length;
    var text1=$(this).val();
    if((myLength==3) ){              
        $(this).val($(this).val()+'-');
              }else if(myLength==7){
                  $(this).val($(this).val()+'-');
              }
    }  
});

189 - ключевой код для - (тире/дефис)

0
nl ja de
В моем компьютере/клавиатуре/Firefox коды для тире 173 (обычные) и 109 (цифровая клавиатура). И пользователь также может вставить число из буфера обмена. Вероятно, лучше зафиксировать фактический персонаж.
добавлено автор Álvaro González, источник
По крайней мере, в моем Firefox (Mac OS X) код ключа для тире - 173 ... просто чтобы сказать вам, что почему он не работает.
добавлено автор Felix Kling, источник
Код работает для меня ... какова ваша конкретная проблема?
добавлено автор ryadavilli, источник
У вас есть последний jQuery?
добавлено автор Klevis Miho, источник

2 ответы

jQuery нормализует какое свойство , и вы можете использовать это свойство вместо keyCode :

if (e.which === 189) {

Вы также можете использовать плагин Masked Input .

2
добавлено
спасибо всем за вашу помощь !!
добавлено автор Mayur Gupta, источник
Готово!! Я должен использовать e.which == 189 для IE и e.which == 173 для mozilla.
добавлено автор Mayur Gupta, источник

просто измените на это:

if(e.keyCode==109){
   //---------^^^------109 is the keycode for hyphen

you can check here: http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes

0
добавлено
Верстка сайтов HTML/CSS/JS/PHP
Верстка сайтов HTML/CSS/JS/PHP
3 439 участник(ов)

Правила группы: напишите !rules в чате. Группа Вк: vk.com/web_structure Freelancer: @web_fl Веб Дизайн: @dev_design Маркетолог: @topmarkening Автор: @M_Boroda