Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] per klick (außerhalb vom div) funktion aufrufen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] per klick (außerhalb vom div) funktion aufrufen

    hallo leute,


    ich hab da ein problem und bin leider nicht sehr fit in javascript, hab auch gegoogelt aber keine zufriedenstellende antwort für mein problem gefunden.

    ich habe eine funktion aufgebaut, womit ich per 'dblckick' ein div 'display:block' machen kann. ich würde jetzt gerne noch eine funktion dazubauen, das wenn man außerhalb dieses divs klickt eine weitere funktion aufgerufen wird, um wieder den div 'display:none' zu machen.

    hättet ihr eine iddee für mich? der weg wie ich per klick (außerhalb vom div) eine funktion aufrufen kann würde mir reichen, den rest würde ich schaffen

  • #2
    Na eigentlich doch ganz einfach:
    Statt auf einen dblclick auf das div zu horchen setzt du das gleiche jetzt auf das "body-Element".

    Diesen Click-Handler fügst du hinzu wenn du das div sichtbar gemacht hast (und entfernst ihn gegebenenfalls wieder).
    [URL="https://www.quizshow.io/"]Create your own quiz show.[/URL]

    Kommentar


    • #3
      dieser klickhändler ist doch schon im body gesetzt oder nicht?

      <body onclick='do()'></body>

      wie kann ich den dann erst später nachdem mein div sichtbar ist erneut aufrufen?

      Kommentar


      • #4
        Ein onClick (und jedes andere on... Ereignis) wird automatisch jedesmal aufgerufen wenn das bezeichnete Ereignis auftritt. Deshalb heißt es Ereignis, nicht Aufruf.
        [COLOR="#F5F5FF"]--[/COLOR]
        [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
        [COLOR="#F5F5FF"]
        --[/COLOR]

        Kommentar


        • #5
          also mein problem ist dass ich ein div habe sagen wir mal mit der id = tf1
          ich klicke 2 mal auf eine stelle und es öffnet sich ein div wo ein textfeld drin ist

          wenn ich jetzt dem body das Ereignis onclick zuweise, wie komme ich auf die id vom geöffneten div? (habe mehrere textfelder und die namen sind natürlich immer verschieden)

          Kommentar


          • #6
            Entweder Du merkst Dir die letzte geöffnete ID oder Du schließt pauschal alle öffne-baren (?) divs.
            [COLOR="#F5F5FF"]--[/COLOR]
            [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
            [COLOR="#F5F5FF"]
            --[/COLOR]

            Kommentar


            • #7
              wie kann ich alle geöffneten baren schließen, die div ids sind nicht immer nach nummern benannt würde das trotzdem gehen?

              Kommentar


              • #8
                Irgendein gemeinsames Merkmal müssen sie haben. Wie das bspw. über ein class Attribut geht habe ich im Wiki in einem Tutorial beschrieben.
                [COLOR="#F5F5FF"]--[/COLOR]
                [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                [COLOR="#F5F5FF"]
                --[/COLOR]

                Kommentar


                • #9
                  Oder du speicherst beim Öffnen eines DIVs eine Referenz auf das Elemente in einem globalen Objekt.
                  Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

                  Kommentar


                  • #10
                    ich danke für die antworten, habe mich doch für die lösung entscheiden, dass jeder div außer sich selber alle anderen schließt
                    musste alle divs unbenennen aber es klappt jetzt

                    PHP-Code:
                    function zeigeinput(id,max){
                        
                    document.getElementById("an" id).style.display "none";
                        
                        for(
                    i=1;i<=max;i++){
                            if(
                    != id){
                                
                    document.getElementById("tf" i).style.display "none";
                            }
                        }
                        
                        for(
                    i=1;i<=max;i++){
                            if(
                    != id){
                                
                    document.getElementById("an" i).style.display "block";
                            }
                        }
                        
                        
                    document.getElementById("tf" id).style.display "block";

                    Kommentar

                    Lädt...
                    X