为动态生成的html元素增加事件处理
2008-02-02 19:57
344 查看
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");
}
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");
}
相关文章推荐
- 为动态生成的html元素增加事件处理
- 为动态生成html元素增加事件处理
- 为动态生成的html元素增加事件处理
- 为动态生成的html元素增加事件处理
- 为动态生成的html元素增加事件处理
- 为动态生成的html元素增加事件处理
- 动态生成行,序号随之增加,删除后依然按顺序。所以给动态生成的html元素绑定click事件
- jquery 动态增加的html元素,初始化设置在id或class上的事件无效
- C#动态生成控件以及添加事件处理
- 动态生成html添加响应事件和css样式时处理方法
- asp.net C#动态添加创建生成button按钮控件没有触发执行响应click绑定事件处理
- iphone上对于动态生成的html元素绑定点击事件$(document).click()失效解决办法
- jquery 动态增加的html元素,初始化设置在id或class上的事件无效
- 动态生成三级菜单+前端事件处理(冒泡机制取消)
- C++ Builder 实现动态生成窗口、控件,以及处理控件事件
- jquery处理动态生成的元素添加事件
- C++ Builder 实现动态生成窗口、控件,以及处理控件事件(转载)
- C#动态生成控件以及添加事件处理
- C++ Builder 实现动态生成窗口、控件,以及处理控件事件
- C#动态生成控件以及添加事件处理