用JS添加的DIV,无法触发onclick事件 请求帮助

xxfxiazai 2010-07-13 03:21:44
         clients.append( "<div id=");
clients.append(result[j].Id);
clients.append('" onmouseover ="mouseover(this)" onclick="click(this)" onmouseout="mouseout(this)">');
clients.append(result[j].Name);
clients.append( "</div>");

以上是DIV的添加代码
每个添加的DIV都由统一的CSS代码设置背景色。所有添加的DIV属于一个被绝对位置固定的DIV
onmouseover onmouseout 事件都可以触发。
唯独onclick不能触发。

请求帮助。。。
...全文
4037 42 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
42 条回复
切换为时间正序
请发表友善的回复…
发表回复
無葉 2010-07-14
  • 打赏
  • 举报
回复
xxfxiazai 2010-07-14
  • 打赏
  • 举报
回复
[Quote=引用 39 楼 cs_mt 的回复:]
像LZ这样的,真不该告诉他解答的,被人指出错误还不能接受,以你这样的性格去哪都做不鸟,悲剧
[/Quote]
http://topic.csdn.net/u/20100713/16/9bb99ed4-2272-4a3f-9d0b-0a50e8ff2ee0.html?seed=1765195220&r=66949859#r_66949859

有什么问题去那里发表。
指出错误不能接受?一个陌生人要抽你你能接受?
CS_MT 2010-07-14
  • 打赏
  • 举报
回复
像LZ这样的,真不该告诉他解答的,被人指出错误还不能接受,以你这样的性格去哪都做不鸟,悲剧
wangan2008 2010-07-14
  • 打赏
  • 举报
回复
淡定。。。
michael_ls 2010-07-14
  • 打赏
  • 举报
回复
浮燥的年代。。。
amandag 2010-07-13
  • 打赏
  • 举报
回复
楼主,你一定很年轻
Ray_Yang 2010-07-13
  • 打赏
  • 举报
回复
激动啥啊都 乐呵乐呵得了
kaukiyou 2010-07-13
  • 打赏
  • 举报
回复
年轻人,肝火大,真是不懂得尊重
whb147 2010-07-13
  • 打赏
  • 举报
回复
呵呵
淡定
我不评论了,免得被咬
pdsnet 2010-07-13
  • 打赏
  • 举报
回复
路过..
DAVE_LUO 2010-07-13
  • 打赏
  • 举报
回复
躁动的年代
浪子-无悔 2010-07-13
  • 打赏
  • 举报
回复
倒!又一次CSDN的唇舌之战!~~~
xxfxiazai 2010-07-13
  • 打赏
  • 举报
回复
[Quote=引用 29 楼 keyouea 的回复:]
楼主你必须向我道歉.

别的不说了,被狗咬了口, 咱总不能再去反咬狗一口吧.
[/Quote]
我的错,我居然反咬了狗。。
keyouea 2010-07-13
  • 打赏
  • 举报
回复
楼主你必须向我道歉.

别的不说了,被狗咬了口, 咱总不能再去反咬狗一口吧.
AndyPanel 2010-07-13
  • 打赏
  • 举报
回复
得了 我们都得应该抽自己一番.......这么明显的错误竟然没看出...
xxfxiazai 2010-07-13
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 keyouea 的回复:]
楼主,你是学生还是工作的?

如果是工作的,我就要抽你了.
就为一点:方法命名不规范,不管你程序写的多牛,命名不规范,都不是好程序员.这体现一种程序员的基本素质.

下面就来分析你这个问题的原因:
1)onclick事件不能触发,其他事件能触发,说明事件机制是好的.你的onclick触发click事件,问题来了,你这个click是啥意思?方法名不是这么取的,别人看到你这个click,谁……
[/Quote]

首先感谢你解决了我的问题,其次为这句"如果是工作的,我就要抽你了."我问候一下你全家,顺便再问你一句
"你算什么东西?"
AndyPanel 2010-07-13
  • 打赏
  • 举报
回复
24 楼 说得好
AndyPanel 2010-07-13
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 xxfxiazai 的回复:]
引用 18 楼 andypanel 的回复:
LZ 请注意你的单引号和双引号
clients.append('" onmouseover ="mouseover(this)" onclick="click(this)" onmouseout="mouseout(this)">')
改为 clients.append(" onmouseover ='mouseover(this)' oncli……
[/Quote]
那个双引号给id? 双引号里套双引号 有意思
你试一下
clients.append( "<div id='");//里面的单引号是给id赋值必须的
clients.append(result[j].Id);
clients.append("'//(这个单引号是id结束标记) onmouseover ='mouseover(this)' onclick='click(this)' onmouseout='mouseout(this)'>");
clients.append(result[j].Name);
clients.append( "</div>");
keyouea 2010-07-13
  • 打赏
  • 举报
回复
楼主,你是学生还是工作的?

如果是工作的,我就要抽你了.
就为一点:方法命名不规范,不管你程序写的多牛,命名不规范,都不是好程序员.这体现一种程序员的基本素质.

下面就来分析你这个问题的原因:
1)onclick事件不能触发,其他事件能触发,说明事件机制是好的.你的onclick触发click事件,问题来了,你这个click是啥意思?方法名不是这么取的,别人看到你这个click,谁知道这个方法要干什么事呢,命名不规范.
2)就算取名字不规范,但是应该能执行的啊,你这里为什么不能执行了呢? 还有一点,名字不能乱取,跟人家同名了怎么办,click是dom内置方法,怎么能乱取呢?没见过人家这么用过吗"$(id).click()"?

总结:表面上是命名不规范导致的,实质是与dom函数同名
wxg_sdwl 2010-07-13
  • 打赏
  • 举报
回复
var valdiv=document.createElement("div");
valdiv.setAttribute("id","aaa");
valdiv.onclick=function()
.....
}
valdiv.innerHTML="......";
用这个吧!以为维护起来也方便。
加载更多回复(22)

62,241

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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