SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

TYPO3 Kochbuch

TYPO3 Kochbuch zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > HTML, CSS und JavaScript Help!

HTML, CSS und JavaScript Help! Hier gibt es Hilfe zu HTML, CSS und JavaScript Problemen

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 14.09.2010, 02:19:55
s1r10n s1r10n ist offline
Anfänger
 
Registriert seit: Jul 2009
Alter: 32
Beiträge: 17
problem mit dynamisch gesetzten eventlistenern

folgendes ist ein stark vereinfachtes script das mein problem vollständig wiederspiegelt:
PHP-Code:
<html><head><title></title></head><body><div id="div"></div></body><script>
var list = new Array(
1,2,3,4,5);
for (var 
i in list){
    
document.getElementById('div').innerHTML += '<a id="'+list[i]+'" href="'+list[i]+'.txt">'+list[i]+'</a><br>\n';
    
document.getElementById(list[i]).addEventListener("click",function(e){alert(list[i]);},false);
}
</script></html> 
mein problem ist, dass nur beim 5. link der gewünschte effekt eintritt

und ich kann mir nach anderthalb stunden gefummel ausprobieren fehlersuchen und kaffe trinken immernochnicht erklären wieso es nicht funktioniert...

P.S. bevor jemand mit mach doch einfach <a href="javascript: xy-code "> oder <a onclick="xy-code"> anfängt... im enddefekt geht es drum drag events zu catchen und ein anderes event zu triggern das hier ist nur ein vereinfachtes script um mein problem zu demonstrieren

getestet und alles hab ich mit einem aktuellem chrome (6.0.472.55) und einem aktuellem firefox (3.6.8)

das script gibts auch hier zum ausprobieren (solange bis ich das problem gelöst habe) oder halt im anhang
Angehängte Dateien
Dateityp: txt javascript-problem.txt (357 Bytes, 47x aufgerufen)
Mit Zitat antworten
  #2  
Alt 14.09.2010, 02:38:30
s1r10n s1r10n ist offline
Anfänger
 
Registriert seit: Jul 2009
Alter: 32
Beiträge: 17
AW: problem mit dynamisch gesetzten eventlistenern

ja... ich weiß zumindest warums nicht geht... er versucht die funktion erst beim event zu initialisieren ... zu dem zeitpunkt ist i allerdings nichtmehr gültig... warum es bei dem 5. element trotzdem geht ist mir allerdings ein rätsel

wie ich es lösen soll um diese uhrzeit allerdings auch
Mit Zitat antworten
  #3  
Alt 14.09.2010, 03:48:56
s1r10n s1r10n ist offline
Anfänger
 
Registriert seit: Jul 2009
Alter: 32
Beiträge: 17
AW: problem mit dynamisch gesetzten eventlistenern

selbst closures helfen mir nicht weiter (oder ich bin zu blöd es korrekt anzuwenden)

PHP-Code:
<html><head><title></title></head><body><div id="div"></div></body><script>
var list = new Array(
1,2,3,4,5);
for (var 
i in list){
    
document.getElementById('div').innerHTML += '<a id="'+list[i]+'" href="'+list[i]+'.txt">'+list[i]+'</a><br>\n';
    
document.getElementById(list[i]).addEventListener("click",
        function(){
            return function(
j){
                
alert(list[j]);
            }(
i);
        }
    ,
false);
}
</script></html> 
bzw:
PHP-Code:
<html><head><title></title></head><body><div id="div"></div></body><script>
var list = new Array(
1,2,3,4,5);
for (var 
i in list){
    
document.getElementById('div').innerHTML += '<a id="'+list[i]+'" href="'+list[i]+'.txt">'+list[i]+'</a><br>\n';
    
document.getElementById(list[i]).addEventListener("click",
        function(){
            return function(
j){
                
alert(j);
            }(list(
i));
        }
    ,
false);
}
</script></html> 
haben absolut keinen mehrwert :(
Mit Zitat antworten
  #4  
Alt 14.09.2010, 04:50:52
s1r10n s1r10n ist offline
Anfänger
 
Registriert seit: Jul 2009
Alter: 32
Beiträge: 17
AW: problem mit dynamisch gesetzten eventlistenern

Ich habe eine Lösung gefunden:
PHP-Code:
<html><head><title></title></head><body><div id="div"></div></body><script
var list = new Array(
1,2,3,4,5); 
for (var 
i in list){ 
    
document.getElementById('div').innerHTML += '<a id="'+list[i]+'" href="'+list[i]+'.txt">'+list[i]+'</a><br>\n'
}
for (var 
i in list){
    (function(
n){
        
document.getElementById(list[n]).addEventListener("click",function(e){alert(list[n]);},false); 
    })(
i);
}
</script></html> 
aber wenn mir jemand sagen kann warum es nur mit getrennter zählschleife + closure funktioniert währe ich dankbar...
Mit Zitat antworten
Antwort

Stichworte
addeventlistener, dynamic, dynamisch, eventlistener, javascript


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit MySQL in Typo3-CMS yamukud MySQL 0 09.10.2009 14:21:18
Subquery Problem (Verständnis?) newgame MySQL 1 29.05.2009 23:01:27
Upload von Fotos, die in eine DB eingetragen werden sollen. Problem 2 jf-flasher PHP Grundlagen 2 01.02.2009 18:20:41
problem mit dynamisch erzeugten Feldern StefanL HTML, CSS und JavaScript Help! 1 10.04.2008 15:02:56
Problem mit Lokalisierung eines SESSION - Problems Fabian85 PHP für Fortgeschrittene und Experten 5 03.10.2005 21:17:54


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:41:52 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.


© 2001-2019 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt