1.1 Event Handler vs. Event Listener
function message1(){
alert('Przechodząc do następnego okna zgadzasz się otrzymać ocenę 1');
}
function message2(){
alert('Za poprawną odpowiedź, dostajesz ocenę 5');
}
function message3(){
alert('Wielki brat patrzy...');
}
function message4(){
alert('Mniejszy brat podsłuchuje...');
}
document.onclick = message1;
document.onclick = message2;
document.addEventListener('click', message3 );
document.addEventListener('click', message4 );
1.2 Korzystanie z infromacji od zdarzenia (Event)
// pomanipuluj trochę oknem i poruszaj wskaźnikiem:
// - przenieść na lewą, potem prawą, część ekranu,
// - przewiń zawartośc okna przegladarki pionowo i poziomo,
// - umieść okno na środku ekranu bez maksymalizacji.
function gdzieJestMysz(e){
console.log("Pozycja XY klienta okna ekranu");
console.log("Pozycja X: "+e.clientX+" "+e.pageX+" "+e.screenX);
console.log("Pozycja Y: "+e.clientY+" "+e.pageY+" "+e.screenY);
}
document.body.addEventListener('mousemove',gdzieJestMysz);
function evInfo(e){
console.log("Event type: "+e.type);
e.preventDefault();
}
document.removeEventListener('mousemove', gdzieJestMysz);
document.body.addEventListener('mousemove',evInfo);
document.body.addEventListener('click',evInfo);
document.body.addEventListener('wheel',evInfo);
document.body.addEventListener('contextmenu',evInfo);
1.3 Klawiatura i klawisze
// przetestuj z serią klawiszy: Q W E R T Y; a s d f; lewy ALT; prawy SHIFT, SPACJA, ENTER, F4, Fn
function readKey(e){
e = e || window.event; // tryb kompatybilności z IE
var key = ('charCode' in e) ? e.which : e.keyCode;
console.log( e.type );
console.log( e.code ); // etykieta klawisza
console.log( key ); // kod znaku
}
document.addEventListener( 'keydown', readKey );
//document.addEventListener( 'keypress', readKey );
//document.addEventListener( 'keyup', readKey );
1.4 Sprawdzanie stanu działań na urzadzeniach. Wiedzieć więcej - reagować lepiej
// dokonaj testu - próby wydruku
function saveTheWorld(){
alert('Oszczędzaj papier i planetę - drukuj wirtualnie - do PDF');
}
document.addEventListener('beforeprint',saveTheWorld); // co należy tutaj poprawić, by metoda zadziałała?
function networkStatus(e){
console.log(e);
if( e.type=='offline' )
alert('Utracono połączenie z siecią');
else
alert('Ponownie nawiązano połączenie z siecią');
}
// dokonaj testu (ok 2 razy) poprzez odłączenie sieci i jej ponowne podłączenie
window.addEventListener('offline', networkStatus);
window.addEventListener('online', networkStatus);
1.5 OnLoad vs. ContentOnLoad. Zapisz jako: DOMload-KLASA-NAZWISKO.js
// zapisz poniższy kod w znaczniku <SCRIPT> umieszczonym w znaczniku <BODY>
window.addEventListener('load', function(e){
console.log ('load');
});
document.addEventListener('readystatechange', function(e){
console.log(`readystate: ${document.readyState}\n`);
});
document.addEventListener('DOMContentLoaded', function(e){
console.log(`DOMContentLoaded`);
});
// jeżeli poniższy kod będzie sprawiał problem, ...
document.body.onclick = function(){alert('gotowy')};
// ...umieść go we właściwym słuchaczu zdarzenia ??Load