Adding onclick property to dynamicly genertated HTML Element
Function klik (){
Alert ("PPP ");
}
Function addnewimg (newimageid ){
Newimg = document.Createelement('Img ');
Newimg. ID = "image" + newimageid;
Newimg = Document. getelementbyid ("divimage1"). appendchild (newimg );
Newimg.Onclick= Klik
}
It works. The new image is created and after clicking on it "PPP" is alerted.
But when I use this:
Function klik (FF ){
Alert (ff );
}
Function addnewimg (newimageid ){
Newimg = document.Createelement('Img ');
Newimg. ID = "image" + newimageid;
Newimg = Document. getelementbyid ("divimage1"). appendchild (newimg );
Newimg.Onclick= Klik ("PPP ");
}
"PPP" is alerted in the moment of executing the statement newimg.Onclick= Klik ("PPP"); and when clicking on the generated image nothing happens, even JavaScript console of Firefox stays blind.
Function addnewimg (newimageid ){
Newimg = document.Createelement('Img ');
Newimg. ID = "image" + newimageid;
Newimg = Document. getelementbyid ("divimage1"). appendchild (newimg );
VaR onc = 'ppedit ("image' + newimageid + '", "image ")';
Document. getelementbyid ("image" + newimageid ).Onclick= New function (ONC );
}
It works
Maybe an object detection be great to add too
Why?
So browsers that understand document. getelementbyid,
Document.CreateelementExecute the code.
Function addnewimg (newimageid ){
// Object detection check
If (! Document. getelementbyid &&! Document.Createelement) {Return ;}
Newimg = document.Createelement('Img ');
Newimg. ID = "image" + newimageid;
Newimg = Document. getelementbyid ("divimage1"). appendchild (newimg );
VaR onc = 'ppedit ("image' + newimageid + '", "image ")';
Document. getelementbyid ("image" + newimageid ).Onclick= New function (ONC );
}
Alternative solution:
If (! Document. getelementbyid) {return ;}
Document. getelementbyid ("image" + newimageid ).Onclick= Function (){
Ppedit (this. ID, "image ");
}