[JS] attachEvent i addEventListener

0

Od razu zaznacze, że kod nie jest mojego autorstwa lecz pochodzi ze strony Riddla

Mam taki kod w osobnym pliku js

function $( id ) {
	return document.getElementById( id );
}
function aEL(o,t,f){var a=Array.prototype.slice.call(arguments,3)
o[t+f]=function(e){return !1===f.apply(o,[e||window.event].concat(a))?e.preventDefault?e.preventDefault():!1:1}
return(o.x=o.addEventListener)?o.x(t,o[t+f],!1):(o.x=o.attachEvent)?o.x('on'+t,o[t+f]):!1}
function rEL(o,t,f){f=o[t+f]
return(o.x=o.removeEventListener)?o.x(t,f,!1):(o.x=o.detachEvent)?o.x('on'+t,f):!1
}
aEL(window, 'load', tada, 'załadowała się', 'cała', 'strona')
function tada(ev, a, b, c, d) {
alert(this + ' - ' + ev + ': ' + a + ' ' + b + ' ' + c)
}

rEL(window, 'load', tada) 

i teoretycznie powinienem dostac alerta o tresci:
window - onload: załadowała się cała strona
ale nic się nie dzieje, nawet komunikatu o błędach nie ma :/ więc jestem w kropce.

0

nie analizowałem kodu, bo piszesz go tak jakbyś nie chciał żeby ktokolwiek go odczytał, ale na moje oko to wywołanie na końcu usuwa zdarzenie zanim dojdzie do niego dojdzie

// aha, sorry, umknęło mi "Od razu zaznacze, że kod nie jest mojego autorstwa" ;P w takim razie wszystko ok - kod nie był pisany do przeczytania na forum tylko do wykorzysania ;)

0
Adamo napisał(a)

[...] na moje oko to wywołanie na końcu usuwa zdarzenie zanim dojdzie do niego dojdzie [...]

usunąłem 15 linijkę linijkę (rEL(window, 'load', tada)) i Ctrl+F5 i nic... nadal to samo, konsola JavaScript w FF nic nie zgłasza a wyników nia ma :/

0

no niestety SOA#1, znaczy nie całkiem, bo się pokazuje:

[object Window] - [object Event]: załadowała się cała strona

a nie jak przewidywałeś ;P

0
Adamo napisał(a)

no niestety SOA#1, znaczy nie całkiem, bo się pokazuje:

[object Window] - [object Event]: załadowała się cała strona

a nie jak przewidywałeś ;P

OMG! Adamo co do komunikatu to masz całkowitą rację i jest jedna ciekawa rzecz: Jak te f-cje są w pliku html w znacznikach <script> i </script> to działa to poprawnie. Lecz jeśli wszystkie te f-cje umieszczę w osobnym pliku to już mi nic nie działa :(

0
angel2953 napisał(a)

Jak te f-cje są w pliku html w znacznikach <script> i </script> to działa to poprawnie. Lecz jeśli wszystkie te f-cje umieszczę w osobnym pliku to już mi nic nie działa :(

no niestety znowu mogę tylko powiedzieć - u mnie działa - coś innego musisz źle robić

1 użytkowników online, w tym zalogowanych: 0, gości: 1