Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá amigos, pesquisei, pesquisei e nada encontrei...
Gostaria de poder executar um código sempre que um dado elemento fosse criado... por ex:
$ ( function ( )
{
$ ( '.tooltip' ) . metodoQueProcuro ( function ( )
{
$ ( this ) . tooltip ( );
} );
} );
Já tentei o live sem passar o tipo de evento (da erro) e o live com load... até agora nada
Alguém sabe se tem como? Pode me ajudar?
Abraços e deis de já agradeço.
No caso o elemento é uma imagem inserida dentro da mensagem de erro do jquery validate, assim:
messages:
{
usuario:
{
required: '<img class="toolTip" src="blb/tpl/padrao/img/atencao.ori.png" title="Digite o nome de usuário" style="height: auto; left: 20px; margin-left: -16px; position: relative; width: 16px;">'
},
senha:
{
required: '<img class="toolTip formValidateToolTip" src="blb/tpl/padrao/img/atencao.ori.png" title="Digite a senha" style="height: auto; left: 20px; margin-left: -16px; position: relative; width: 16px;">'
}
},
Eu tb cheguei a tentar com o 'errorPlacement' do validate, mas no caso ele apenas executa quando tem erro, adicionando a imagem, mas nunca quando não tem erro para eu poder remover a imagem.
A página em questão é esta aqui
resolvido
não da forma que estava propondo aqui, mas acredito que ficou mais elegante
Agora tenho um formulário sendo validado pelo jQuery.validate em que a mensagem é exibida dentro de um tooltip de uma imagem de alerta que é exibida ao lado da mensagem de erro. segue código resolvido:
/**
* Script da página
*
* @author Rafael A. R. Dias <@********.com.br>
* @version 2012-07-18
*/
$ ( function ( )
{
// Regras de validação do formulário de login
//
$ ( '#formLogin' ) . validate
( {
rules:
{
usuario:
{
required: true,
number: true
},
senha:
{
//required: true
}
},
messages:
{
usuario:
{
required: 'Digite o nome de usuário',
number: 'Numero'
},
senha:
{
required: 'Digite a senha'
}
},
errorPlacement: function ( erro , elemento )
{
var icone = $ ( elemento ) . parent ( ) . find ( '.formValidateToolTip' );
if ( icone . length == 0 )
{
icone = $ ( '<img class="toolTip formValidateToolTip" src="blb/tpl/padrao/img/atencao.ori.png" style="height: auto; left: 20px; margin-left: -16px; position: relative; width: 16px;">' );
icone . tooltip ( ) . insertAfter ( $ ( elemento ) );
}
icone . attr ( 'title' , erro . html ( ) );
},
unhighlight: function ( elemento , erroClasse )
{
$ ( elemento ) . parent ( ) . find ( '.formValidateToolTip' ) . remove ( );
},
submitHandler: function ( formulario )
{
}
} );
} );
O 'errorPlacement' é responsável pela criação/atualização da mensagem de erro (como dito no meu post) e o 'unhighlight' é quem remove.
dessa forma tenho o formulário como descrito acima.
Muito obrigado ao William que me deixou claro que não existia oq eu buscava fazendo assim com que eu procurass algo mais sensato e elegante!
você não tem controle sobre as funções que criam elemento?
não existe nenhum evento que "escute" qndo um elemento é criado.
Eu te recomendo, reescrever um método que "crie", e então trabalhar com um callback dele.