Notizie: lo sai che puoi installare Firefox anche su dispositivi Apple iPhone e iPad? Provalo subito!

Autore Topic: XUL ed eventi di <menu>/<menuitem>  (Letto 1492 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline Warriozzo

  • Post: 45
    • http://www.gnuit.altervista.org
XUL ed eventi di <menu>/<menuitem>
« il: 19 Giugno 2005 13:42:24 »
Ciao, vorrei che in un file XUL l'evento collegato ad un <menu> valga solo per questo elemento, e non per i <menuitem> annidati in esso.

Es.
Codice: [Seleziona]
<menu label="Menu" onclick="evento;">
<menupopup>
<menuitem  label="Sottomenu"  onclick="altro-evento;" />
</menupopup>
</menu>

Difatti così facendo l'evento si attiva anche cliccando sul menuitem...
Sono sicuro che mi sfugge qualcosa... :?

Offline klades

  • Moderatore
  • Post: 5788
    • http://www.nic-nac-project.org/~kaosmos
XUL ed eventi di <menu>/<menuitem>
« Risposta #1 il: 19 Giugno 2005 15:14:02 »
Ho fatto una prova ora con una pagina semplicissima, solo una window e un menu, e "evento" mi si attiva solo cliccando sul menu, non anche sul menuitem.
Puoi postare il codice di tutta la pagina?
Ti consiglierei comunque di usare oncommand sul menuitem, forse è meglio, anche se dipende da cosa devi fare.
Ciao, Paolo

Offline Warriozzo

  • Post: 45
    • http://www.gnuit.altervista.org
XUL ed eventi di <menu>/<menuitem>
« Risposta #2 il: 19 Giugno 2005 19:43:56 »
Codice: [Seleziona]
<menu id="menu-gr-01" label="testo" onclick="gr_open(event, link.html');" oncommand="gr_open(null, 'link.html');">
<menupopup class="grmenu" id="menup-gr-01">
<menuitem  id="menu-gr-02" label="sotto-testo"  onclick="gr_open(event, 'altro-link.html');" oncommand="gr_open(null, 'altro-link.html');" />
</menupopup>
</menu>

gr_open é una funzione che poi si trova un js a parte, e permette di caricare nel tab il secondo argomento con cui viene chiamata.

Se clicco sul link di menuitem mi si apre il link del menu... :(

Offline klades

  • Moderatore
  • Post: 5788
    • http://www.nic-nac-project.org/~kaosmos
XUL ed eventi di <menu>/<menuitem>
« Risposta #3 il: 19 Giugno 2005 22:21:17 »
Perchè usi onlick e oncommand insieme? Non sarebbe meglio solo oncommand?
Un'altra cosa che non mi è chiara è questa: per aprire il menuitem devi per forza avere cliccato il menù prima, quindi gli script di menu-gr-01 vengono eseguiti comunque.
A che ti serve associare degli eventi all'elemento menu?

Offline Warriozzo

  • Post: 45
    • http://www.gnuit.altervista.org
XUL ed eventi di <menu>/<menuitem>
« Risposta #4 il: 19 Giugno 2005 22:38:35 »
Citazione da: klades
Perchè usi onlick e oncommand insieme? Non sarebbe meglio solo oncommand?
Un'altra cosa che non mi è chiara è questa: per aprire il menuitem devi per forza avere cliccato il menù prima, quindi gli script di menu-gr-01 vengono eseguiti comunque.
A che ti serve associare degli eventi all'elemento menu?
Bhe no, il menuitem appare al passaggio del mouse, non al click sull'elemento padre.
Ora provo senza l'onclick.. :D

Offline Warriozzo

  • Post: 45
    • http://www.gnuit.altervista.org
XUL ed eventi di <menu>/<menuitem>
« Risposta #5 il: 19 Giugno 2005 23:00:29 »
No, continua a non andare come dovrebbe.
Ho provato sia solo con l'onclick che solo con l'oncommand, ma apre comunque solo la pagina linkata dal menu e non quella del menuitem selezionato, come se niente fosse. :|

Ecco il JS al quale é collegata, se può interessare:
Codice: [Seleziona]

function gr_open(event, url)
{
if (event && event.button != 0)
{
getBrowser().addTab(url);
} else {
loadURI(url);
}
}

Offline klades

  • Moderatore
  • Post: 5788
    • http://www.nic-nac-project.org/~kaosmos
XUL ed eventi di <menu>/<menuitem>
« Risposta #6 il: 19 Giugno 2005 23:42:41 »
Citazione da: Warriozzo
Bhe no, il menuitem appare al passaggio del mouse, non al click sull'elemento padre.

Ma è un submenù?
Comunque l'elemento menù, se non è un submenù, richiede un click ( http://www.xulplanet.com/references/elemref/ref_menu.html ).
Io continuo a non capire una cosa: perché c'è una pagina "linkata" al menù? Cioè, perché hai unito l'esecuzione di una funzione di quel tipo all'elemento menù? A che ti serve?
Forse se spieghi con più dettagli cosa stai cercando di fare, riusciamo a darti meglio una mano :-)

Offline Warriozzo

  • Post: 45
    • http://www.gnuit.altervista.org
XUL ed eventi di <menu>/<menuitem>
« Risposta #7 il: 20 Giugno 2005 16:23:10 »
Citazione da: klades
Citazione da: Warriozzo
Bhe no, il menuitem appare al passaggio del mouse, non al click sull'elemento padre.

Ma è un submenù?
Comunque l'elemento menù, se non è un submenù, richiede un click ( http://www.xulplanet.com/references/elemref/ref_menu.html ).
Io continuo a non capire una cosa: perché c'è una pagina "linkata" al menù? Cioè, perché hai unito l'esecuzione di una funzione di quel tipo all'elemento menù? A che ti serve?
Forse se spieghi con più dettagli cosa stai cercando di fare, riusciamo a darti meglio una mano :-)

Si tratta di un'estensione con diverse voci che, tramite click, permettomo l'accesso alle varie sezioni di un forum.
Dato che le sezioni hanno sottosezioni, con i sotto-menu (i menuitem, per l'appunto) si può eventualmente accedere direttamente alle sottosezioni.
Tuttavia il problema é che, anche cliccando sui sotto-menu (che appaiono al passaggio del mouse sulle voci dei sezioni padre) si attiva il link che dovrebbe attivarsi solo cliccando sul forum padre. °-°

Ti mando un PM con il link alla bozza di estensione, che sarà sicuramente più chiara di me.
 :D

0 Utenti e 1 Visitatore stanno visualizzando questo topic.