Newsgroup: it.comp.lang.javascript
Titolo: Riferimento oggetto senza id

Ciao.
Come posso ottenere il riferimento ad un elemento (tag)
che non possiede un id (o un name) avendo a disposizione l'oggetto stesso?
Dovrei passarlo come parametro quando creo
un riferimento ad una funzione tramite new Function(Function_name).
Grazie,
Matteo Migliore. 

 un riferimento ad una funzione tramite new Function(Function_name).
Se è scatenata dall'oggetto stesso puoi usare this (se ho capito cosa stai
chiedendo)
-- 
"Affacciati affacciati benedici, guardaci
 guardaci...guardaci!
 Tanto sono quasi duemila anni che stai a guardare!"
									    E.B.

 chiedendo)
Risponso anche al tuo ultimo consiglio relativo
ad addeventhandler: era proprio ciò che mi serviva!
Questo problema è sorto in seguito
all'utilizzo di questa funzione:
------------------------------------------------------------------------------------------
function addHandler(Target, theEvent, Handler, Parameters, useCapture ){
eval("var onTarget = Target.on" + theEvent + ";");
FunctionSignature = Handler + "('" + Parameters + "')";
EvHandler = new Function(FunctionSignature);
if (Target.addEventListener) {
Target.addEventListener(theEvent, EvHandler, useCapture);
} else if (Target.attachEvent) {
Target.attachEvent("on" + theEvent, EvHandler);
} else if (onTarget) {
onTarget = function piggyback() {
onTarget();
Handler();
};
} else { onTarget = Handler(); }
return true;
}
------------------------------------------------------------------------------------------
Il meccanismo non è proprio lineare
ma riassumendo: in Target ho a disposizione l'oggetto
che richiede l'attachment dell'evento,
nel momento in cui creo il riferimento alla funzione con new Function
posso solo passare parametri stringa.
Se l'elemento non ha un identificativo di questo tipo
non mi è possibile passare alla funzione che verrà
chiamata un riferimento all'oggetto che ha scatenato
l'evento.
Spero di essere stato più chiaro.
Grazie,
Matteo Migliore. 

 Il meccanismo non č proprio lineare
Infatti, non mi sono mai cimentato in casini simili, il mio javascript č
molto piů lineare.
Non so aiutarti, sentiamo gli altri.
-- 
"Emancipate yourselves from mental slavery;
None but ourselves can free our minds"
									    B.M.

 l'evento.
Su Gecko puoi utilizzare tranquillamente "this", quando utilizzi un
addEventListener su un elemento:
function foo(){
	alert(this);
}
object.addEventListener("click",foo,false);
Su IE con attachEvent questo sfortunatamente non accade; perché in quel
caso "this" corrisponde all'oggetto window.
Ergo, devi "recuperare l'oggetto che ha scatenato l'evento". Letteralmente,
intendo:
function foo(evt){
	var sender=evt.srcElement||evt.target||null;
	if (sender!=null){
		/* your code goes here */
	}
}
-- 
ZER0
~ The Tangent Universe collapsed 5995 days, 4 hours, 31 minutes and 31 seconds ago.

 l'evento.
Su Gecko puoi utilizzare tranquillamente "this", quando utilizzi un
addEventListener su un elemento:
function foo(){
	alert(this);
}
object.addEventListener("click",foo,false);
Su IE con attachEvent questo sfortunatamente non accade; perché in quel
caso "this" corrisponde all'oggetto window.
Ergo, devi "recuperare l'oggetto che ha scatenato l'evento". Letteralmente,
intendo:
function foo(evt){
	var sender=evt.srcElement||evt.target||null;
	if (sender!=null){
		/* your code goes here */
	}
}
Questo codice copre sia IE che i browser w3c compliant.


 Questo codice copre sia IE che i browser w3c compliant.
Cosa dire... grazie di nuovo,
e complimenti per la competenza.
Matteo Migliore.

 e complimenti per la competenza.
De nada.
-- 
ZER0
~ The Tangent Universe collapsed 5995 days, 11 hours, 10 minutes and 38 seconds ago.
on air ~ "YUKI - Home Sweet Home"

> e complimenti per la competenza.
Matteo Migliore.