Helmut Kupper: InnerHTML und jquery funktionieren nicht.

hallo,

ich habe folgendes problem:

im normalen html kann ich ein jquery-modal-fenster aufrufen.

erzeuge ich aber einen InnerHtml text in einem layer und versuche dort ein modalfenster aufrufen wird dieses fenster wie ein normaler link aufgerufen.

http://www.lelux-solutions.de/fancybox.html

klickt man -fehler anzeigen- wird der inhalt des layers erzeugt.
der darunterliegende link ist dann der, der den fehler erzeugt.

für hilfe wäre ich dankbar.

gruß
Helmut Kupper

  1. Hi,

    im normalen html kann ich ein jquery-modal-fenster aufrufen.

    erzeuge ich aber einen InnerHtml text in einem layer und versuche dort ein modalfenster aufrufen wird dieses fenster wie ein normaler link aufgerufen.

    Natürlich - weil dieser zu dem Zeitpunkt, wo du versuchst, die Fancybox-Funktionalität an den Link zu binden, ja noch gar nicht existiert.

    Entweder machst du das, *nachdem* du den Link ins Dokument eingefügt hast,
    oder du nutzt delegate oder live in jQuery (letzteres nicht das Beste von der Performance her);
    oder du fügst den Link gar nicht erst dynamisch ins Dokument ein, sondern baust ihn von vornherein ins HTML ein, und machst ihn lediglich per CSS unsichtbar, solange er nicht gebraucht wird.

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    1. hallo,

      danke für die schnelle antwort.
      ich habe die javascript-funktion folgendermaßen abgeändert:

      <script type="text/javascript">
          function show_error() {

      document.getElementById ("test").innerHTML = "<ul><li><a id='various6' href='http://www.lelux-solutions.de/form_gas.html'>form gas</a></li></ul>";
      $(document).ready(function() {

      		$("#various6").fancybox({  
      			'width'				: '100%',  
      			'height'			: '100%',  
      			'autoScale'			: false,  
      			'transitionIn'		: 'elastic',  
      			'transitionOut'		: 'elastic',  
      			'type'				: 'iframe'  
      		});  
      	});  
      

      }
      </script>

      jetzt funktioniert es auch.

      danke und gruß
      helmut kupper