Ir para conteúdo

POWERED BY:

Arquivado

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

euofulano

[Resolvido] problemas com attachEvent

Recommended Posts

Olá pessoal do imaster, eu tenho o seguinte código que funciona normalmente no FF, mas no IEca esta ocorrendo problemas.

 

CODE
//cria os links para paginação conforme o número de páginas e adiciona ao elemento container

Paginacao.prototype.criar_links_paginacao = function( containerLink ){

var instanciaPaginacao = this;

var link = null;

var x;

 

for(x = 0; x < this.contadorPaginas; x++){

link = document.createElement("a");

link.setAttribute("href", "#");

link.setAttribute("rel", x);

link.className = "";

link.appendChild( document.createTextNode( x + 1 ) );

 

containerLink.appendChild(link);

 

/*Adiciona evento ao elemento recém criado*/

addEvent(link, "click", function(){ instanciaPaginacao.mostraPagina( this.getAttribute("rel") ); this.className = 'selecionado' }, true);

}

}

 

/*Função adaptadora para IE e outros*/

function addEvent(elm, evType, fn, useCapture) {

if (elm.addEventListener) {

elm.addEventListener(evType, fn, useCapture);

return true;

}

else if (elm.attachEvent) {

var r = elm.attachEvent('on' + evType, fn);

return r;

}

else {

elm['on' + evType] = fn;

}

}

esse código primeiro adiciona um filho ao nó pai, depois uma função ao evento onclick, dentro da função eu passo a referencia do objeto que chama a função addEvent ( this.getAttribute("rel") ), isso funciona muito bem no FF, mas no IEca nao, pelo que percebi ele perde a referencia do objeto, como eu posso contonar isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que POG heim? heheh.

 

1 - instanciaPaginacao não é um objeto global (propriedade do objeto window), como você esperaria que fosse chamada pelo listener?

[na real, isso funciona mesmo no firifoxi?]

 

2 - Se não me engano, quando usa-se attachEvent no IE this retorna como undefined (ou null não lembro).

 

Uma alternativa inteligente para contornar estes problemas:

http://weblogs.asp.net/asmith/archive/2003/10/06/30744.aspx

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na realidade isso que eu postei é apenas um trecho do código, mas de qualquer forma o código esta bagunçado mesmo, caso queira ver a página onde eu estou implementando o código acesse: http://www.contentxp.com/listaLibrary2.asp?cat=6, escolha as fotos do pelé, este script é para fazer uma páginação dinâmica das fotos. No firefox realmente funciona, mas no iexplorer eu tenho um valor undefined.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usa o script dá página que eu lhe passei no lugar do addEvent que vai funcionar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Problema resolvido, utilizei o código do link que você me passou e agora esta funcionando tanto no IEca quanto no FF, valew pela ajuda.

Agora so vou organizar o código que está uma bagunça.

para quem quiser ver o resultado final pode acessar: http://www.contentxp.com/listaLibrary2.asp?cat=6

 

Problema resolvido, utilizei o código do link que você me passou e agora esta funcionando tanto no IEca quanto no FF, valew pela ajuda.

Agora so vou organizar o código que está uma bagunça.

para quem quiser ver o resultado final pode acessar: http://www.contentxp.com/listaLibrary2.asp?cat=6

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.