function addEventHandler(oTarget, sEventType, fnHandler) {
if (oTarget.addEventListener) {
oTarget.addEventListener(sEventType, fnHandler, false);
} else if (oTarget.attachEvent) {
oTarget.attachEvent("on" + sEventType, fnHandler);
} else {
oTarget["on" + sEventType] = fnHandler;
}
};
var imgColors=document.getElementById("liColor").getElementsByTagName("img");
for(var i=0;i<imgColors.length;i++)
{
var obj=imgColors[i];
addEventHandler(imgColors[i],"click",function(){FaceChoose(obj.id);});}//为什么这句一直错误,要怎么样才可以动态添加事件啊
这样
if (oTarget.addEventListener) {
oTarget.addEventListener(sEventType, fnHandler, false);
} else if (oTarget.attachEvent) {
oTarget.attachEvent("on" + sEventType, fnHandler);
} else {
oTarget["on" + sEventType] = fnHandler;
}
};
var imgColors=document.getElementById("liColor").getElementsByTagName("img");
for(var i=0;i<imgColors.length;i++)
{
var obj=imgColors[i];
addEventHandler(imgColors[i],"click",function(){FaceChoose(obj.id);});}//为什么这句一直错误,要怎么样才可以动态添加事件啊
这样
解决方案 »
- 请教一个JS问题
- name.com的域名可以添加多少条记录?如何解析三级域名
- 修改或者添加功能需要写测试计划、测试结果文档吗
- 如何GridView里LinkButton打开本地文件目录
- girdview 绑定存储过程中遇到的问题
- 为什么我机器上的iis 里面的asp.net版本没有 1.1版本?
- vs2005如何声明控件为public---@@---急啊!--在线等!!◎!!!!
- asp.net2.0中如何做上传
- 用ComponentOne C1WebGrid作ASPX应用的时候,如何在Code Bhind方式下使用“DataFormatString"属性?
- 使用StreamReader读取 一个文本文件,为什么中文全是乱码?????????????????
- 求一JS问题,关于拆分的
- 在asp:GridView 为什么我要连点两次编辑才能切换到编辑模式?有什么解决方法
var imgColors=document.getElementById("liColor").getElementsByTagName("img");
for(var i=0;i<imgColors.length;i++)
{
var obj=imgColors[i].id.split('$')[1];
addEventHandler(imgColors[i],"click",function(oo){FaceChoose(obj)});
}
你在看,为什么这样的语句要传递参数的话就会出错
但是每次传递的最后一个参数就是i=length-1的值
FaceChoose(obj.id)
{
alert(obj.id);
}
可以想象的很简单就一个obj.id,但是为什么传递的参数老是错误呢
<img src="#" width="34" height="20" style="margin: 3px 0 0 0;"
alt="" id="color$1" />
<img src="#" width="34" height="20" style="margin: 3px 0 0 0;"
alt="" id="color$2"/>
<img src="#" width="34" height="20" style="margin: 3px 0 0 0;"
alt="" id="color$3"/>
<img src="#" width="34" height="20" style="margin: 3px 0 0 0;"
alt="" id="color$4"/>
<img src="#" width="34" height="20" style="margin: 3px 0 0 0;"
alt="" id="color$5"/>
<img src="#" width="34" height="20" style="margin: 3px 0 0 0;"
alt="" id="color$6"/></li>
这个就是那个要遍历的图片,可是为什么测试的数据每次都是6,无论点哪个图片都是6,也就是所有的图片的onclick触发的事件都是
FaceChoose(“6”)
ID = 'undefined'
addEventHandler方法,就不会出错,真是莫名其妙
for(var i=0;i <imgColors.length;i++)
{
addEventHandler(imgColors[i],"click", FaceChoose);
} function FaceChoose(evt)
{ var obj = evt.srcElement?evt.srcElement:evt.target;
var id=obj.id.split('$')[1];
alert(id);
}