HighDots Forums  

Strano comportamento DIV

Javascript (Italian) Il linguaggio JavaScript (it.comp.lang.javascript)


Discuss Strano comportamento DIV in the Javascript (Italian) forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
IcarusDream
 
Posts: n/a

Default Strano comportamento DIV - 11-22-2006 , 11:27 AM






Salve.
Ho un div con dentro una tabella, una cosa del genere:

<div id="subMenu_1" onMouseOut="this.style.visibility='hidden'">
<table cellspacing="0">
<tr>
<td align="center" width="120" height="25" class="sub_menu">
SOTTO MENU 1
</td>
</tr>
<tr>
<td align="center" width="120" height="25" class="sub_menu">
SOTTO MENU 2
</td>
</tr>
<tr>
<td align="center" width="120" height="25" class="sub_menu">
SOTTO MENU 3
</td>
</tr>
</table>
</div>

La cosa curiosa è che l'evento onMouseOut che ho definito per il DIV
viene invocato ogni volta che esco da un TD.
La cosa per me non ha molto senso.
Qualcuno riesce a raccapezzarsi?


Reply With Quote
  #2  
Old   
Cristiano Larghi
 
Posts: n/a

Default Re: Strano comportamento DIV - 11-22-2006 , 11:30 AM






In data 22 Nov 2006 08:27:02 -0800, IcarusDream ha scritto:

Quote:
Salve.
Ho un div con dentro una tabella, una cosa del genere:

div id="subMenu_1" onMouseOut="this.style.visibility='hidden'"
<table cellspacing="0"
[CUT]
La cosa curiosa è che l'evento onMouseOut che ho definito per il DIV
viene invocato ogni volta che esco da un TD.
La cosa per me non ha molto senso.
sì che ha senso: questi eventi di default si propagano.
Cerca in rete cancelBubble (per IE, non ricordo a memoria per Gecko),
scoprirai un mondo ...

--
"Ti sei salvato
o sei entrato in banca pure tu?"
A.V.


Reply With Quote
  #3  
Old   
IcarusDream
 
Posts: n/a

Default Re: Strano comportamento DIV - 11-24-2006 , 05:00 AM



Mi pare di aver capito che gli eventi si propagano dall'interno verso
l'esterno.
Nel mio caso un onMouseOut sul TD avrebbe dovuto scatenare un
onMouseOut sul div che contiene la tabella.
A me succede che l'evento del padre è ereditato dagli elementi
figli...


Cristiano Larghi ha scritto:

Quote:
In data 22 Nov 2006 08:27:02 -0800, IcarusDream ha scritto:

Salve.
Ho un div con dentro una tabella, una cosa del genere:

div id="subMenu_1" onMouseOut="this.style.visibility='hidden'"
<table cellspacing="0"
[CUT]
La cosa curiosa è che l'evento onMouseOut che ho definito per il DIV
viene invocato ogni volta che esco da un TD.
La cosa per me non ha molto senso.

sì che ha senso: questi eventi di default si propagano.
Cerca in rete cancelBubble (per IE, non ricordo a memoria per Gecko),
scoprirai un mondo ...

--
"Ti sei salvato
o sei entrato in banca pure tu?"
A.V.


Reply With Quote
  #4  
Old   
Cristiano Larghi
 
Posts: n/a

Default Re: Strano comportamento DIV - 11-24-2006 , 05:06 AM



In data 24 Nov 2006 02:00:29 -0800, IcarusDream ha scritto:

Quote:
Mi pare di aver capito che gli eventi si propagano dall'interno verso
l'esterno.
Nel mio caso un onMouseOut sul TD avrebbe dovuto scatenare un
onMouseOut sul div che contiene la tabella.
A me succede che l'evento del padre è ereditato dagli elementi
figli...
no, è al contrario: onmouseout su td, ma td non lo gestisce; poi sotto ha
un div? => onmouseout sul div, che ha un gestore di questo evento => lo
gestisce.

Non serve aver definito un gestore dell'evento affinché questo si
propaghi, si propaga sempre.

--
"Voi abili a tenere sempre un piede qua e uno là
avrete un avvenire certo in questo mondo qua
però la dignità
dove l'avete persa?"
V.R.


Reply With Quote
  #5  
Old   
ZER0
 
Posts: n/a

Default Re: Strano comportamento DIV - 11-24-2006 , 05:26 AM



On 22 Nov 2006 08:27:02 -0800, IcarusDream wrote:

Quote:
div id="subMenu_1" onMouseOut="this.style.visibility='hidden'"
[cut]
/div
La cosa curiosa è che l'evento onMouseOut che ho definito per il DIV
viene invocato ogni volta che esco da un TD.
Ne è già stato discusso nel NG:

http://groups.google.it/group/it.com...663145fa95642c

Butta un occhio anche al link all'interno di quel post.

--
~ Tutti quelli che credono nella psicocinesi, per favore alzino la mia mano.



Reply With Quote
  #6  
Old   
ZER0
 
Posts: n/a

Default Re: Strano comportamento DIV - 11-24-2006 , 05:30 AM



On Fri, 24 Nov 2006 11:06:30 +0100, Cristiano Larghi wrote:

Quote:
Mi pare di aver capito che gli eventi si propagano dall'interno verso
l'esterno.
Nel mio caso un onMouseOut sul TD avrebbe dovuto scatenare un
onMouseOut sul div che contiene la tabella.
A me succede che l'evento del padre è ereditato dagli elementi
figli...

no, è al contrario: onmouseout su td, ma td non lo gestisce; poi sotto ha
un div? => onmouseout sul div, che ha un gestore di questo evento => lo
gestisce.
Ma sai che non ti ho capito?
Quel che dice l'utente non è "sbagliato" (se si prende il termine
"ereditato" non in senso tecnico ma come concetto); ma non capisco che
intendi dire te.

--
~ Quando ero bambino, ragazzo, credevo in Dio.
Adesso so.
(Carl Gustav Jung)



Reply With Quote
  #7  
Old   
Cristiano Larghi
 
Posts: n/a

Default Re: Strano comportamento DIV - 11-24-2006 , 05:33 AM



In data Fri, 24 Nov 2006 11:30:16 +0100, ZER0 ha scritto:

Quote:
Ma sai che non ti ho capito?
Quel che dice l'utente non è "sbagliato" (se si prende il termine
"ereditato" non in senso tecnico ma come concetto); ma non capisco che
intendi dire te.
intendo che non è il td che "riceve" l'evento da applicare a onmouseout dal
div sottostante (ma non è importante, sono di corsissima in questi giorni,
magari ho letto male cosa intendeva lui).

--
"Emancipate yourselves from mental slavery;
None but ourselves can free our minds"
B.M.


Reply With Quote
  #8  
Old   
Giuliano
 
Posts: n/a

Default Re: Strano comportamento DIV - 11-24-2006 , 06:42 AM



IcarusDream ha scritto:
Quote:
Salve.
Ho un div con dentro una tabella, una cosa del genere:

div id="subMenu_1" onMouseOut="this.style.visibility='hidden'"


prova con
...........onMouseOut="document.getElementById("su bMenu_1").style.visibility='hidden'">

è DOM e specifico dovrebbe andare


Reply With Quote
  #9  
Old   
IcarusDream
 
Posts: n/a

Default Re: Strano comportamento DIV - 11-27-2006 , 03:54 AM



Il Bubbling si dovrebbe propagare verso l'alto.
Quello che ho appurato è che i TD, figli della TABLE contenuta nel
DIV, scatenano lo stesso evento onMouseOut del DIV.
L'evento si propaga verso il basso.
cancelBubble evita di farlo propagare verso l'alto.

Giuliano ha scritto:

Quote:
IcarusDream ha scritto:
Salve.
Ho un div con dentro una tabella, una cosa del genere:

div id="subMenu_1" onMouseOut="this.style.visibility='hidden'"



prova con
..........onMouseOut="document.getElementById("sub Menu_1").style.visibility='hidden'"

è DOM e specifico dovrebbe andare


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.