[Web2.0] AddEventListener su button

Giovanni Battista Lenoci gianiaz a gianiaz.net
Gio 15 Mar 2007 14:15:23 CET


Ciao, sto cercando di imparare qualcosa di pių su javascript, quindi se 
l'approccio a quello che sto facendo č sbagliato ditemelo pure.

Sto cercando di aggiungere degli eventi ai bottoni piuttosto che 
affidarmi ai classici onClick ecc..

Ho trovato questa funzione per rendere pių semplice l'attachment di un 
evento a un elemento html:

function addEvent(elm, evType, fn) {
    if (elm.addEventListener) {
        elm.addEventListener(evType, fn, false);
        return true;
    }
    else if (elm.attachEvent) {
        var r = elm.attachEvent('on' + evType, fn);
        return r;
    }
    else {
        elm['on' + evType] = fn;
    }
}

Per fare in modo che l'attachment avvenga solo a caricamento avvenuto ho 
aggiunto anche una funzione per aggiungere una funzione all'onload:

function addLoadEvent(func) {
    var oldonload = window.onload;
    if (typeof window.onload != 'function') {
        window.onload = func;
    }
    else {
        window.onload = function() {
            oldonload();
            func();
        }
    }
}


Dopo queste 2 funzioni faccio quindi questa chiamata per attaccare 
l'evento al mio bottone con id "savebutton":

function load() {
  addEvent($('savebutton'), 'click', save, false);
}
function save() {
  alert('save');
  return false;
}

addLoadEvent(load);

Quello che succede č che viene fatto il submit del form dopo aver 
premuto il bottone (cosa che per il momento vorrei evitare).
Come vedete ho provato a ritornare false dalla funzione, ma anche cosi 
ottengo lo stesso comportamento, dove sbaglio?

ciao e grazie

-- 
gianiaz.net
di Giovanni Battista Lenoci 
P.le Bertacchi 66 
23100 Sondrio
cell. +39.392.7096936
cell. +39.347.7196482



Maggiori informazioni sulla lista Web2.0