O botão desativado ainda escuta o evento de clique
Eu tenho um problema de uma forma em que faço algumas validações de jquery. Se um campo de entrada específico não for preenchido, ele deverá desativar o botão "avançar" adicionando um atributo desativado:
if errors
$('.btn-move-forward').attr("disabled", true)
que funciona, mas também tenho um evento de clique nesse botão: (coffeescript)
$('.btn-move-forward').click ->
$('#step2, #step3').toggle()
eu espero.btn-move-forward
para não acionar o evento click quando o botão estiver desativado, mas ele faz !!
Primeiro: não entendo o porquê, porque todas as especificações do navegador definem que isso não deve acontecer. Enfim, tentei ignorá-lo, fazendo o seguinte:
$('.btn-move-forward').click ->
if !$(this).is(:disabled)
$('#step2, #step3').toggle()
ou isto
$('.btn-move-forward').click ->
if $(this).prop("disabled", false)
$('#step2, #step3').toggle()
ou combinando os ouvintes do evento assim:
$('.btn-move-forward').on 'click', '.btn-move-forward:enabled', ->
$('#step2, #step3').toggle()
Não, tudo isso não funcionará corretamente. O botão ainda se comporta como um botão avançar.
Tudo o que eu quero é o botão que não está ouvindoonclick
se estiver desativado.