Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) addEventListener


Prototype

Pergunta

galera to com algumas dúvidas incríveis.

To desenvolvendo um script para "escutar os eventos", boa parte já consegui fazer só que eu preciso pegar a tag ou id ou nome do elemento que ocorreu o evento, consequentemente vou atribuir funções por essas informações.

algoritmo

var info

pegar_caracteristicas_de_tag(info);

addevento(document.body, click, função)

addevento(1,2,3){
       if(addeventlistener){executar...}
       if(attachEvent){executar...}
}


função delegar_ações(tag){

if (tag=span){executar...}
if (tag=a){executar...}
if (tag=div){executar...}
}

preciso pegar apenas o elemento pelo clique do evento e comprar na função. Pode ser a id tb.

Editado por Prototype
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

é, ainda não consegui implementar o código...

function teste(){
    switch(this.tagName){
    case "a":
    alert("é um link")
    case "span":
    alert("span !")
    case "default":
    alert("Outra coisa")
    }

    }
function addEvent(elemento, evento, fn){
    if (elemento.addEventListener)
        elemento.addEventListener(evento, fn, true)
    if (elemento.attachEvent)
        elemento.attachEvent("on"+evento, fn)
    }

addEvent(document.body,"click",teste);

Quero que fique escutando ações na body e dependendo do elemento ele faça algo.

Link para o comentário
Compartilhar em outros sites

  • 0

update:

Script rodando no gecko(firefox), webkit(safari) e presto(opera 10), mas no ie(testei com o 8) cagada! O problema do ie é esse this na função tamanho(), ele não consegue pegar o elemento o qual feito a ação.

function tamanho(){
    if(this.id)
        document.body.className=this.id
    }
function init(){
    var body_id=document.body.id
    if(body_id=="index")
        var tag=document.getElementsByTagName("span")
        var count=tag.length
        for(var i=0; i<count; i++)
            addEvent(tag[i],"click",tamanho)
    }
function addEvent(elemento, evento, fn){
    if (elemento.addEventListener)
        elemento.addEventListener(evento, fn, true)
    if (elemento.attachEvent)
        elemento.attachEvent("on"+evento, fn)
    }
addEvent(window,"load",init)

Uma ajuda seria muito útil agora :)

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...