Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    parametri evento nel dom

    Sera a tutti, mi sto scontrando con un problemino... sto cercando di attivare un evento via dom tramite oggetto.attachEvent('onmouseover', funzione) il problema è che la funzione in questione dovrebbe prendere un parametro dell'oggetto creato, ma non riesco a passarglielo in nessuna maniera .... posto il codice:
    questo è il chiamante:
    codice:
    <div id="barra" style="position:absolute; left:10px; top:15px; width:273px; height:38px; z-index:1; padding: 3px"> 
    		<script language="JavaScript" type="text/JavaScript">
    			home = new btnNew('barra','Torno a casa','#', 'Home');
    			contatti = new btnNew('barra','Nemo nescio','#', 'Contatti');
    		</script>
    </div>
    questo il costruttore:
    codice:
    	function statusOver(e){
    		alert(btnN.msgStatus);
    		status = e.srcElement.msgStatus;
    	};
    	function statusOut(){
    		status='';
    	};
    	//costruttore del pulsante
    	function btnNew(oggPadre, stStatus, stGoTo, stTxt){
    		var mgX=0;
    		var mgY=5;
    		var pdX=1;
    		var pdY=20;
    		var bgClrUp ='#ee0';
    		var frClrUp = '#660';
    		var oggPadre= document.getElementById(oggPadre);
    		var btnN = document.createElement('A');
    			btnN.msgStatus =  stTxt;
    			btnN.setAttribute('href', stGoTo);
    			btnN.style.setAttribute('margin', mgX + ' ' + mgY);
    			btnN.style.setAttribute('padding', pdX + ' ' + pdY);
    			btnN.style.setAttribute('background', bgClrUp);
    			btnN.style.setAttribute('border', '2px solid '+ frClrUp);
    			btnN.attachEvent('onmouseover', statusOver);
    			btnN.attachEvent('onmouseout', statusOut);
    		var btnTxt = document.createTextNode(stTxt);
    
    			btnN.appendChild(btnTxt);
    		oggPadre.appendChild(btnN);
    	};
    non so quante prove ho fatto ma non riesco a fargli capire che deve prendere il messaggio per la statusbar....
    p.s. Sono solo in fase di studio, il codice assolutamente non è crossbrowser(per il momento ...)

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    prova a usare una sintassi di questo tipo:

    attachEvent("onmouseover","funzione('parametro'");

  3. #3
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    basta aggiungere
    return true
    dopo
    status = e.srcElement.msgStatus;

    del resto dovresti aggiungerlo anche se non lo assegnassi tramite costruttore
    ciao

  4. #4
    ci avevo già provato... ma l'ho rifatto per sicurezza... il risultato è 'incompatibilità tra i tipi' sia che lo passo tra apici ('onmouseover', 'funzione(parametro)')
    che senza apici
    ('onmouseover', funzione(parametro))
    .... non capisco comunque un modo ci deve essere non credo che sia possibile immaginare di chiamare funzioni esclusivamente senza variabili... stavo pensando di gestire l'evento... ma l'elemento non è ancora inserito...
    per la cronaca sto lavorando su IE6... grazie comunque

  5. #5
    ok Xinod, solo che il messaggio sulla barra di stato è il nome dell'oggetto creato e non quello che gli passo (e.srcElement.msgStatus), nel costruttore io definisco btnN.msgStatus=stTxt; ma sulla barra mi compare il nome dell'oggetto e non il valore di msgStatus...

  6. #6

    mea culpa....

    scusa Xinod.... sono un idiota funziona tutto perfettamente grazie!!!! :quipy:

  7. #7
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    btnN.msgStatus = stTxt;
    l' avevo corretto al volo copiandolo ma non mi sono ricordato di segnalartelo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.