como ligar para blur e alterar, mas apenas acionar uma função uma vez em jquery / Javascript?
Eu estou tentando acionar uma função quando um elemento de seleção é alterado.
Como o Ipad está com problemas ('change'), eu também quero ligar para 'blur', que funciona bem no Ipad.
No entanto, eu não quero que ambos os eventos disparem a função duas vezes, então eu preciso de algum tipo de gancho para ter certeza se ambosmudança eborrão disparar, que a função subjacente é acionada apenas uma vez.
Isso é o que estou fazendo agora, mas ... não é muito legal:
// make sure binding is only assigned once
var compSel = $('#my_select');
if ( compSel.jqmData('bound') != true ){
console.log("bound");
compSel.jqmData('bound', true)
.on( $.support.touch ? 'blur' : 'change', function(){
console.log("trigger");
// run function xyz
})
}
Isso funciona se você pode viver com todos os dispositivos tocáveis fazendo comborrão.
Questão:
Alguém tem uma ideia melhor para garantir que o efeito de desfoque e alteração só acione uma função uma vez?
Obrigado pela ajuda!