ObjectOrientierung - private Methoden?

NetBull

Erfahrenes Mitglied
Hi,...

immer noch dabei JavaScript zu lernen und immer noch Probleme mit der Objekt-Orientierung.

Ich erzeuge für ein Steuerelement, das komplexer werden soll, ein Objekt. In diesem Objekt gibt es zwei Buttons, beide Buttons sollen ein onClick Ereignis auslösen können.

Nur scheinen Beide irgendwie das gleiche zu tun? Was mache ich falsch?
Es wird immer nur die onClick Methode des 2. Buttons gestartet...

Beispielcode:
Code:
function jsBackLogCleanUpControl()
{
	
	var mControl = document.getElementById("jsBackLogCleanUpControl");
	var mBtnAnalyze = btnAnalyzeCleanSolution();
	var mBtnCleanSelection = btnCleanSelection();
	
	
	
	
	function btnAnalyzeCleanSolution()
	{	
		mButton = document.createElement("input");
		mControl = document.getElementById("jsBackLogCleanUpControl");
		mButton.setAttribute("id", "btnAnalyzeButton");
		mButton.setAttribute("value", "clean up backlog");
		mButton.setAttribute("type", "button");		
		
		mButton.setAttribute("onClick", "onclick_event()" );
		onclick_event = function()
		{
			alert(mButton.id+" clicked");
		}
		
		mControl.appendChild(mButton);
	}
	
	
	
	
	function btnCleanSelection()
	{	
		mButton = document.createElement("input");
		mControl = document.getElementById("jsBackLogCleanUpControl");
		mButton.setAttribute("id", "btnCleanSelection");
		mButton.setAttribute("value", "submit Decision");
		mButton.setAttribute("type", "button");		
		
		mButton.setAttribute("onClick", "onclick_event()" );
		onclick_event = function()
		{
			alert(mButton.id+" clicked");
		}
		
		mControl.appendChild(mButton);
	}
	
	
	
}
 
Nachtrag: Mittlerweile habe ich herausgefunden das ich die beiden Controls (Buttons) mit new aufrufen muss. Erschaffe damit sicher eine neue Instanz.

CODE:
Code:
mBtnAnalyze = new btnAnalyzeCleanSolution();
mBtnCleanSelection = new btnCleanSelection();

statt:
Code:
mBtnAnalyze = btnAnalyzeCleanSolution();
mBtnCleanSelection = btnCleanSelection();

Liege ich damit richtig oder?
 

Neue Beiträge

Zurück