Eu tenho um <input type="number" step="1">
elemento para escolher o tamanho da fonte. No entanto, dado o contexto de desenho em uma tela grande, alterar o número para 1 é quase imperceptível. Seria mais conveniente para os usuários se eles pudessem subir ou descer 5 ou 10 cada vez que clicassem na seta.
Ainda preciso manter o step
atributo em 1 porque a entrada deve permanecer válida mesmo com valores refinados. Existe uma maneira de conseguir esse comportamento, como o jump
atributo abaixo (pseudo). Também estou aberto a soluções Javascript, mas no AFAIK não existe tal evento para quando o usuário clica nas setas.
<input type="number" min="1" max="1000" step="1" jump="5" value="100" />
Você poderia tentar o seguinte: O
input
evento verifica se a alteração no valor corresponde ao valor do passo e ajusta-o pelo valor do salto de acordo.Editar: Neste caso, para responder ao seu comentário usaremos um sinalizador e adicionaremos novamente o
keydown
evento.Adicione uma condição ao ouvinte de evento de entrada para evitar esse comportamento indesejado caso você altere manualmente o valor