Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di Polley
    Registrato dal
    Jan 2005
    Messaggi
    696

    Catturare evento da tag contenitori

    Avendo dei layout cosi:

    <div id="Contenitore">
    <a></a>
    </div>

    <div id="Contenitore">
    <input type="button" />
    </div>

    Si può mettere una funzione nel div Contenitore che capisca quando l'utente clicca sul tag a oppure sull'input e mi avvia un'altra funzione ?

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Dovresti spiegarti meglio.

    Comnunque quel codice NON e` HTML valido (non si possono dare due id uguali nella stessa pagina).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it L'avatar di Polley
    Registrato dal
    Jan 2005
    Messaggi
    696
    Originariamente inviato da Mich_
    Comnunque quel codice NON e` HTML valido (non si possono dare due id uguali nella stessa pagina).

    Sono due esempi diversi

    Mettendo una funzione nel div

    <div id="Contenitore" onclick="Capta();">
    bla
    bla
    bla
    <input type="button" value="cliccami" />
    </div>

    Posso sapere quando ha cliccato nell'area del div, però vorrei sapere se ha cliccato il pulsante in modo da richiamare un'altra funzione.

    La stessa cosa di questo:

    <div id="Contenitore">
    bla
    bla
    bla
    <input type="button" value="cliccami" onclick="sgrullami();"/>
    </div>

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ancora non riesco a capire cosa intendi.

    onclick lo puoi mettere sul div, e/o sul bottone.

    Se lo metti su entrambi, se clicchi sul bottone fa partire la funzione del bottone, se clicchi fuori fa partire la funzione chiamata dall'onclick sul div.

    con i due eventi puoi anche chiamare la stessa funzione con parametri diversi ...
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Utente di HTML.it L'avatar di Polley
    Registrato dal
    Jan 2005
    Messaggi
    696
    Lo voglio mettere solo sul div, però cliccando sul pulsante deve partire una funzione, però se clicco sempre nel div al di fuori del pulsante non deve fare nulla.

  6. #6
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Originariamente inviato da Polley
    Lo voglio mettere solo sul div, però cliccando sul pulsante deve partire una funzione, però se clicco sempre nel div al di fuori del pulsante non deve fare nulla.
    Puoi fare come segue (per IE e non chiedermi per altri browser che non so)

    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    
    <html>
    <head>
    <title>Untitled</title>
    <script language="JavaScript" type="text/javascript">
    <!--
    function pippo() {
     if (event.srcElement.id == 'btn') {
      alert('bottone cliccato');
     } else {
      alert('div cliccato');
     } // if (event.srcElement.id == 'btn') 
    } // function pippo() 
    //-->
    </script>
    
    </head>
    <body>
    <div id="contenitore" onclick="pippo()">
    qkjsqdkqszdkqsdfb s dfjqsdfiksqd  sfdikqsdfi  sfdiqsfh 
    
    <input type="button" value="Clicca" id="btn">
    </div>
    </body>
    </html>
    Comunque secondo me è sempre meglio mettere l'evento al posto giusto.

  7. #7
    Utente di HTML.it L'avatar di Polley
    Registrato dal
    Jan 2005
    Messaggi
    696
    Proprio questo mi serviva.

    Non riuscivo a trovare questa funzione event.srcElement.id

    Penso io a farla cross/browser

    Grazie


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.