中国石油大学论坛

 找回密码
 注册(开放注册)
搜索
查看: 31094|回复: 0

[软件] 为动态生成html元素增加事件处理

[复制链接]
发表于 2007-11-23 23:56:19 | 显示全部楼层 |阅读模式
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.createelement execute 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");
}



来源于北京教育招生网
您需要登录后才可以回帖 登录 | 注册(开放注册)

本版积分规则

手机访问本页请
扫描左边二维码
         本网站声明
本网站所有内容为网友上传,若存在版权问题或是相关责任请联系站长!
站长联系QQ:7123767   myubbs.com
         站长微信:7123767
请扫描右边二维码
www.myubbs.com

QQ|小黑屋|手机版|Archiver|中国石油大学论坛 ( 苏ICP备06050851号 )

GMT+8, 2024-4-19 02:58 , Processed in 0.037257 second(s), 16 queries .

Powered by 高考信息网 X3.3

© 2001-2013 大学排名

快速回复 返回顶部 返回列表