请问:怎样在JS中动态添加代参事件

D.yaping 2013-03-25 04:15:27
function judge(div,num){
//匹配
switch(num){
case "1":
//更改图片路径
div.style.backgroundImage = "url('images/get.jpg)";
break;
case "2":
//更改图片路径
div.style.backgroundImage = "url('images/春.jpg')";
break;
}
function inital(){
//获取li对
var objLi = document.getElementsByTagName("li");
//循环
for(var i = 1;i <= objLi.length;i++){
objLi[i].onclick = function(){check(i)};
}
}
结果说我的onclick为空!请问,代参应该如何解决呢?
...全文
69 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hz890 2013-03-25
  • 打赏
  • 举报
回复
check方法有定义吗?
D.yaping 2013-03-25
  • 打赏
  • 举报
回复
我的Init方法在页面加载进行调用的!
tianma630 2013-03-25
  • 打赏
  • 举报
回复
页面加载完有调用init方法吗?
hz890 2013-03-25
  • 打赏
  • 举报
回复
objLi[i].onclick = function(){check(i)}; --------------------------------------------- 方法1: objLi[i].onclick = function(i){ //...代码实现 }; 方法2: objLi[i].onclick = check; 方法3: objLi[i].onclick = new Function("check(i);"); 或 objLi[i].onclick = new Function("check(" + i + ");"); 方法4: 使用attachEvent或addEventListener方法,有兴趣的话,可参考: http://blog.csdn.net/tzsmin/article/details/3784683
liuxiangkui5 2013-03-25
  • 打赏
  • 举报
回复
1、你确定inital()方法是要写在judge(div,num)里面? 2、没见你的check(i),是否是因为没有贴出来? 3、没见有哪里调用到inital()方法,自然不会去执行objLi[i].onclick = function(){check(i)};

81,114

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧