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
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...
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);}
}
}
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...
Kommentar