Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

gremio10

[Resolvido] Usando delegate com plugin jQuery

Recommended Posts

Fala galera, eu estou montando um plugin para meu sistema, mas ele deve funcionar em um link que não é inicializado com o DOM, ou seja, quando há um hover em um elemento, ele aparece, e se o usuário clicar nele, irá aparecer o conteudo do meu plugin, o problema é que não estou conseguindo fazer ele funcionar.

 

$.fn.newAlert = function( settings ) {

       var config = {
           ok: true
       }

       if( settings ) { $.extend( config, settings ) }

       return this.click( function( e ) {

           alert();

       } );

}

$( document.body ).delegate( ".edit", "click", function( e ) {

           e.preventDefault();
           $( this ).newAlert();

       } );

 

Nessa versão que estou colocando, ele funciona, mas o problema é que eu tenho de clicar duas vezes no elemento para ele acionar o alert do meu plugin.

 

Obrigado pela ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se o evento precisa ser anexado à um elemento dinamicamente criado e/ou desconhecido pelo DOM durante o load, até onde eu sei, tal procedimento deve ser feito via .live()

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pelas dicas, estou testando o .on() no meu código, mas coloquei nesse e ele não funciona e coom delegate ele vai:

 

$( ".project_delete" ).on( "click", function( e ) {

           e.preventDefault();

           var id = $( this ).attr( "data-id" );

           if( is_numeric( id ) )
           {
               if( confirm( "Do you want to delete this project?" ) )
               {                    
                   $.post( url() + "/system/project/delete", { id: id, p: p }, function( e ) {

                       if( !e.error )
                       {
                           makeTasks( e );
                       }
                       else
                       {

                       }

                   }, "json" );
               }
           }

       } );

 

Obrigado.

 

UPDATE: resolvi o problema que eu tinha com o on()

 

$( document.body ).on( "click", ".project_delete", function( e ) {

 

Mas ainda persisto no problema do meu plugin, eu preciso clicar duas vezes para ele ativar o click. Obrigado.

 

Desculpe, mas ainda persisto com o problema inicial do post. :grin:

 

Quando clico no meu link, tenho de fazer isso duas vezes para funcionar, o que pode ser ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.