romulobrasil / PureMask.js

Biblioteca de mascaras em inputs de forms desenvolvido em Javascript puro. Library masks inputs on forms developed in pure JavaScript.
52 stars 18 forks source link

Problema com remoção de caracteres usando BackSpace #1

Open dfprado63 opened 8 years ago

dfprado63 commented 8 years ago

Boa tarde, RomuloBrasil!

Muito obrigado por disponibilizar esse script de máscara. Funciona muito bem e com certeza ajuda a muitos em suas tarefas.

No script existe um erro de lógica que torna impossível remover caracteres localizados antes de um caractere de máscara usando backspace. Isso ocorre por que, na linha 34 do código, onde os eventListeners são "setados", a condição if trata de keyCode !== 8 OU keyCode !== 46. Alterando a lógica para E o erro deixa de existir, ficando assim:

if (e.keyCode !== 8 && e.keyCode !== 46)
 ...

Além disso, alterando o eventListener de keydown para keypress evita que algumas teclas de comando sejam capturadas. Espero que isso possa ajudar outras pessoas.

Atenciosamente,

romulobrasil commented 8 years ago

Olá, tudo bem.

Verifiquei e realmente tem esse problema.

Não há necessidade de mudar o operador lógico, e a proposta que chegou no meu email, não funcionaria a função mas vi que você editou aqui.

Bom, e o real problema estava no evento do 'keydown' e troquei pela sua sugestão e funcionou perfeitamente.

Poderia testar?

Muito obrigado pela sua ajuda.

gabrielbuzziv commented 7 years ago

testei aqui com o keypress, funcionou =D