Clicando duas vezes para ativar? Javascript OnClick Issue
-
19-08-2019 - |
Pergunta
Estou tendo um problema com um projeto em que estou trabalhando no momento que está usando o Validação O plug -in para jQuery, quando o erro de validação aparece, estou aplicando dinamicamente uma tag de âncora com um onclick. E é este onclick é o problema ...
Na primeira vez em que o erro de validação aparece, tenho que clicar no link duas vezes para que o evento OnClick seja disparado.
Eu dei uma olhada na página através da barra de ferramentas de desenvolvedor do IE, e a âncora está envolvendo a mensagem de validação corretamente, com o onlick e todos os arquivos JavaScript necessários estão anexados
O que acontece? Quaisquer sugestões seriam muito apreciadas :)
Editar: trechos de código adicionados
jQuery(document).ready(function() {
jQuery('#group-edit-form').validate({
rules: {
title: {
required: true,
remote: '<%=Url.Action("ValidateGroupName", new { id = ViewData["GroupId"] }) %>?parentId=' + getParentId()
}
},
messages: {
title: {
required: getMessage (7002),
remote: '<%= ((MessagingModel)ViewData["Messages"]).GetMessage (9001) %>'
}
}
})
});
function getMessage(messageId) {
var message = "<a id='errorMessageAnchor_" + messageId + "' onclick='messageBuilder(" + messageId + ")'><%= ((MessagingModel)ViewData["Messages"]).GetMessage (7002) %></a>";
return message;
}
Solução
É o evento Blur que está interferindo no clique da âncora.
Você pode escolher uma dessas opções:
- Desativar a validação no evento Blur com
onfocusout:false
- Desativar definir o foco em um elemento inválido com
focusInvalid:false