为动态生成的html元素增加事件处理
来源:互联网 发布:mysql 数据库导入 编辑:程序博客网 时间:2024/05/24 15:40
本篇介绍为html元素添加事件,以click为例,作者只给出了代码,不过是一目了然的。
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");
}
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");
}
- 为动态生成的html元素增加事件处理
- 为动态生成的html元素增加事件处理
- 为动态生成的html元素增加事件处理
- 为动态生成的html元素增加事件处理
- 为动态生成的html元素增加事件处理
- 为动态生成html元素增加事件处理
- jquery中为动态增加的元素绑定事件
- js为动态添加的元素增加事件
- Jquery 中为后生成或插入的 Html 元素先设定响应事件处理方法
- jquery为动态生成的元素生成click事件
- 动态生成行,序号随之增加,删除后依然按顺序。所以给动态生成的html元素绑定click事件
- jquery事件对Html网页动态生成的元素失效
- 动态生成的html元素绑定click事件
- jQuery为动态生成的select元素添加事件
- jquery为动态生成的元素添加点击事件
- jQuery为动态生成的元素添加事件
- jquery 为动态生成元素绑定事件
- 给动态增加的元素添加事件
- MsgSleep,能处理消息的Sleep.
- window.print 关于web打印问题
- 没有main方法的Java程序
- 忆扫房
- 用这个类可以替代VB自带的Timer控件
- 为动态生成的html元素增加事件处理
- JSP环境配置 Apache2.2和Tomcat5.5整合
- 人代表了他的思想同时也代表了他的事业他的程序
- C/C++中的日期和时间
- RHEL5.1 cdrom mount
- 各种设计模式分析
- Lesson 6 Percy Buttons
- 图片显示在页面,从数据库提取图片并限制图片的大小
- C/C++中的一些基本语法(define/typedef)