php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS Probleme mit HTML5, Bootstrap oder jQuery ?

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 04-02-2009, 13:09
mcmurphy
 PHP Junior
Links : Onlinestatus : mcmurphy ist offline
Registriert seit: Aug 2003
Ort: Berlin
Beiträge: 890
mcmurphy zeigte ein beschämendes Verhalten in der Vergangenheit
Standard addEventListener und zugriff auf klassenvariable

Hi,
habe nach längerer Zeit mal wieder ein Problem das ich alleine nicht in den Griff bekomme.
Ich baue mir gerade eine Klasse, welche mir, ausgehend von einem Basis Element, bei click auf einen Button ein (oder mehrere) <div>s erzeugen soll und bei einem Klick auf ein <a>, welches in ein div eingebettet ist dieses div wieder entfernen soll (klappt auch schon).

Also muß ich dem a bei onclick eine Funktion zuweisen
1te Frage:
Was ist besser (beide im Code aufgeführt, geht auch beides, hätte nur gerne eure Meinung)
element.onclick = function
oder
element.addEventListener

Mein eigentliches Problem:
ich definiere mir ja ein Start Knoten:
this.basisNode = document.getElementById('f1');
kann aber in den Event Functionen nicht auf this.basisNode zugreifen.
Dort aber immer document.getElementById('f1'); zu schreiben fände ich unschön
PHP-Code:
function CInputCheck(){
        
this.basisNode =  document.getElementById('f1'); // mein Start Knoten     
        
this.newBox = function(){
          try{
           var 
Box document.createElement('div');
           var 
closeLink document.createElement('a');
           var 
closeText document.createTextNode('Close');
           
closeLink.appendChild(closeText);
           
closeLink.setAttribute('href''#');
           
//was ist besser; so:
         /*  closeLink.onclick = function(){
               var parent = closeLink.parentNode;
               document.getElementById('f1').removeChild(parent);
           }*/
           // oder so:
          
if(closeLink.addEventListener){// echte Browser
              
closeLink.addEventListener('click', function(evt) { 
                   var 
parent closeLink.parentNode;
                   
// unschön, warum geht this.basisNode.removeChild(parent); 
                   //nicht bzw. wie kann ich an diese Stelle auf this.basisNode zugreifen....
                   
document.getElementById('f1').removeChild(parent); 
               }, 
false); 
          }else{ 
// IE
            
if (closeLink.attachEvent) {
                
closeLink.attachEvent('onclick'
                             function(
evt){
                                 var 
parent closeLink.parentNode;
                                 
// unschön....
                                 
document.getElementById('f1').removeChild(parent);
                             });
            }
           }
           
/*
             diverses
           */
           
this.basisNode.appendChild(Box); // Zugriff geht
          
}catch(e){alert(e);}
        }  
    } 
Dann hätte ich noch zu dem Thema eine allgemeine Frage:

habe noch keine Möglichkeit gefunden, einer Funktion welche ich über ein Event an ein Element binde auch einen Parameter mitzugeben. Wäre aber schön wenn es da einen Weg geben würde...
__________________
"I don't want to belong to any club that would accept me as a member."

Groucho Marx
Mit Zitat antworten
  #2 (permalink)  
Alt 04-02-2009, 13:30
pekka
 PHP Master
Links : Onlinestatus : pekka ist offline
Registriert seit: Jun 2001
Ort: Köln
Beiträge: 6.608
pekka befindet sich auf einem aufstrebenden Ast
Standard

Ich hab nicht den totalen Durchblick beim Thema Events und muß mich immer bei einer konkreten Aufgabenstellung Stück für Stück durchhangeln. Eine Empfehlung auf jeden Fall: Die großen Frameworks bringen Event-Funktionen mit, die IE-Workarounds und dergleichen unnötig machen. Würde ich unbedingt empfehlen.
Bei Prototype finden sich die Event-Funktionen hier. Würde micbh nicht wundern, wenn damit auch deine Probleme lösbar sind.
Mit Zitat antworten
  #3 (permalink)  
Alt 04-02-2009, 14:07
phpguru42
 Newbie
Links : Onlinestatus : phpguru42 ist offline
Registriert seit: Oct 2008
Beiträge: 71
phpguru42 ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: addEventListener und zugriff auf klassenvariable

Zitat:
Original geschrieben von mcmurphy
Was ist besser (beide im Code aufgeführt, geht auch beides, hätte nur gerne eure Meinung)
element.onclick = function
oder
element.addEventListener
In deinem Fall würde die erste Variante ausreichen. Der Nachteil daran ist, dass ein bereits vorhandener onklick-Handler überschrieben werden würde.

Bei Variante 2 kannst du mehere Handler für ein Event registrieren. Dazu habe ich hier zwei nette Funktionen gefunden: http://ejohn.org/projects/flexible-javascript-events


Die Lösung für Frage 2 würde mich auch brennend interessieren, da ich gerade wieder dasselbe Problem hatte. Frustriert habe ich es dann über eine globale Variable gelöst
Mit Zitat antworten
  #4 (permalink)  
Alt 04-02-2009, 14:29
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard Re: Re: addEventListener und zugriff auf klassenvariable

Code:
function rufMichMitParameterAuf(Parameter) {
  alert(Parameter);
}

element.onclick = function() { rufMichMitParameterAuf(4711); }
http://aktuell.de.selfhtml.org/artik...tion/#closures
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #5 (permalink)  
Alt 04-02-2009, 14:41
mcmurphy
 PHP Junior
Links : Onlinestatus : mcmurphy ist offline
Registriert seit: Aug 2003
Ort: Berlin
Beiträge: 890
mcmurphy zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

THX @ Wahsaga

aber das funktioniert nur mit element.onclick, gibts es auch bei addEventListener eine Möglichkeit einen Parameter weiterzugeben?
__________________
"I don't want to belong to any club that would accept me as a member."

Groucho Marx

Geändert von mcmurphy (04-02-2009 um 14:45 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 04-02-2009, 15:48
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Wuesste nicht, warum das da nicht funktionieren sollte - addEventListener nimmt doch auch eine Funktionsreferenz als Parameter.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #7 (permalink)  
Alt 04-02-2009, 16:32
mcmurphy
 PHP Junior
Links : Onlinestatus : mcmurphy ist offline
Registriert seit: Aug 2003
Ort: Berlin
Beiträge: 890
mcmurphy zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Wahsaga
bist ein Schatz....
__________________
"I don't want to belong to any club that would accept me as a member."

Groucho Marx
Mit Zitat antworten
  #8 (permalink)  
Alt 06-02-2009, 09:42
phpguru42
 Newbie
Links : Onlinestatus : phpguru42 ist offline
Registriert seit: Oct 2008
Beiträge: 71
phpguru42 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hast Du das Problem bezüglich "document.getElementById('f1'); / this.basisNode" jetzt gelöst?
Mit Zitat antworten
  #9 (permalink)  
Alt 09-02-2009, 13:37
mcmurphy
 PHP Junior
Links : Onlinestatus : mcmurphy ist offline
Registriert seit: Aug 2003
Ort: Berlin
Beiträge: 890
mcmurphy zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Zitat:
Hast Du das Problem bezüglich "document.getElementById('f1'); / this.basisNode" jetzt gelöst?
ja, mit dem Tip von Wahsaga
__________________
"I don't want to belong to any club that would accept me as a member."

Groucho Marx
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:27 Uhr.