日期:2014-05-16  浏览次数:20513 次

求救,关于动态生成元素的事件绑定问题
我之前用数据库动态生成侧边栏的下拉子菜单,遇到了点击找不到id的问题

但后来用$("li#UserQuery").live("click", (function () {}));解决掉了,点击有效果了

现在我想把根菜单,也就是点击产生下拉的地方也做成动态生成,又碰到了这个问题

我是在js文件中,用jquery.ajax与后台交互,连接数据库读取所有菜单的信息,再返回json

接收了json后进行判断,先生成根菜单,然后生成子菜单

结果根菜单变成动态生成后,生成子菜单的时候就找不到根菜单id了

请问这个时候该怎么解决啊,用.live能实现的话,因为它生成的时候是没有click的,那事件参数该填什么啊?

求高手指点一下
------解决方案--------------------
标签的id是不能重复的,

 var ul = '<ul><li class="button"><a href="#" class="red">' + JSON[i].PageName + '<span></span></a></li><li class="dropdown"><ul id = "ul_' + JSON[i].PageLinkName + '"></ul></li></ul>';
.....
var li = '<li id = "li_' + JSON[j].PageLinkName + '"><a href ="' + JSON[j].PageLink + '">' + JSON[j].PageName + '</a></li>';
------解决方案--------------------
膜拜下 liuchaolin 
 随便说下 你的设计思路是没有问题的。
可能是哪里细节出现了问题