jquery li绑定的单击事件,单击li执行一个自定义的函数,请教各位大神!
div结构:<divclass="menu-agit-container"><ulid="menu-agit"class="menu"><liid="1"class=""...
div结构:<div class="menu-agit-container">
<ul id="menu-agit" class="menu">
<li id="1" class=""></li>
<li id="2" class="current">
生活服务
<ul class="sub-menu" style="">
<li id="21" class="current">
住宿
<ul class="sub-menu" style=""></ul>
</li>
问题是,单击“生活服务”那个自定义函数执行了,但单击“住宿”,自定义函数却没执行,
li是动态生成的,用的on绑定的单击事件,alert能获取到"住宿"的id值 展开
<ul id="menu-agit" class="menu">
<li id="1" class=""></li>
<li id="2" class="current">
生活服务
<ul class="sub-menu" style="">
<li id="21" class="current">
住宿
<ul class="sub-menu" style=""></ul>
</li>
问题是,单击“生活服务”那个自定义函数执行了,但单击“住宿”,自定义函数却没执行,
li是动态生成的,用的on绑定的单击事件,alert能获取到"住宿"的id值 展开
5个回答
2014-01-26
展开全部
绑定只对已经生成的对象有用,因为你的住宿是动态生成的,所以在你执行绑定函数是这个对象并不存在,所以并没有绑定上。
解决方法
1、生成后重新执行一次绑定
2、在li标签中加入onclik
解决方法
1、生成后重新执行一次绑定
2、在li标签中加入onclik
更多追问追答
追问
我用的是循环,生成的之后,就绑定了,不然alert,也获取不到id啊!
追答
那你把代码发上来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
大概是覆盖吧,我看你的html的结构是住宿是在生活的那个里面的对吧
这个只是父节点有事件,子节点没有事件,也需要给子节点加上事件
这个只是父节点有事件,子节点没有事件,也需要给子节点加上事件
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
动态生成的需要在后面再绑一次,用JS或者jquery,juqery就用live不需要再帮
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果你用的是jquery1.7以前的话,可以用live。如果是1.7版本以后的用on
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用
$("li").die().live("click",function(){
// todo
})
$("li").die().live("click",function(){
// todo
})
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询