Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
Przekazanie zmiennej z jednej funkcji do drugiej - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: xHTML, CSS, JavaScript (https://www.webmastertalk.pl/forum-xhtml-css-javascript)
+--- Wątek: Przekazanie zmiennej z jednej funkcji do drugiej (/thread-przekazanie-zmiennej-z-jednej-funkcji-do-drugiej)



Przekazanie zmiennej z jednej funkcji do drugiej - dahel - 29-01-2012

Problem wygląda tak: mam funkcję, która rejestruje zdarzenia:
Kod:
function addEvent(element, event, fn){
    if(element.addEventListener){
        element.addEventListener(event, fn, false)
    }else if(element.attachEvent){
        element.attachEvent('on'+event, fn);
    }
}
I funkcję, która je odrejestrowuje:
Kod:
function removeEvent(element, event, fn){
    if(element.addEventListener){
        element.removeEventListener(event, fn, false)
    }else if(element.attachEvent){
        element.detachEvent('on'+event, fn);
    }
}
Następnie wykonuje:
Kod:
function handlerOff(){
removeEvent(a,'click', handlerOff);
}

function Init(){
var a=document.getElementsByTagName('a')[0];
addEvent(a,'click', handlerOff);
}
addEvent(window, 'load', Init)
.
W tym wypadku zdarzenie nie jest odrejestrowane. Udaję się tylko, gdy zmienna 'a' jest globalna. I moje pytanie brzmi-czy można to obejść? Tzn przekazać zmienną innej funkcji ale nie zmieniać jej na globalną?