jquery 绑定问题

y75674952 2011-09-14 04:02:41
  
<li class="explode" name="menu">
会员管理
<ul>
<li class="menu-item"><a href="users.php?act=list" target="main-frame">会员列表</a></li>
<li class="menu-item"><a href="users.php?act=add" target="main-frame">添加会员</a></li>
</ul>
</li>



$(".explode").live('click',function(){

})


问题..我只想绑定 explode li标签

会员列表 添加会员 不触发事情.怎么做...


还有一点我想不明白 怎么判断用户点击成功....

下面的问题是 探讨问题.主要问题是红色字的

$(".explode").live('click',function(){
clicks = true;
$(".menu-item").click(function(){
clicks = false;
})
alert(clicks); 始终都是ture ,哪怕是进去了 还是ture ,,
})
...全文
96 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
峭沙 2011-09-14
  • 打赏
  • 举报
回复
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>test</title>
<script type="text/javascript" src="jquery.js"></script>
</head>
<body>
<li class="explode" name="menu">
会员管理
<ul>
<li class="menu-item"><a href="users.php?act=list" target="main-frame">会员列表</a></li>
<li class="menu-item"><a href="users.php?act=add" target="main-frame">添加会员</a></li>
</ul>
</li>
<script type ="text/javascript" >
$(function(){
$('.explode').click(function(e){
if($(e.target).is(this)){
alert(1);
}
});
});
</script>
</body>
</html>
遥望那些年 2011-09-14
  • 打赏
  • 举报
回复

<html>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>

<script>
$(document).ready(function() {
$(".menu-item").click(function(event) {
if ($(event.target).is('li'))
alert('click');
})
})
</script>

<body>
<li class="explode" name="menu">会员管理
<ul>
<li class="menu-item">123<a href="users.php?act=list" target="main-frame">会员列表</a></li>
<li class="menu-item"><a href="users.php?act=add" target="main-frame">添加会员</a></li>
</ul>
</li>
</body>
</html>


测试没问题
lirenniao 2011-09-14
  • 打赏
  • 举报
回复

$(".explode > ul").click(function(event){
event.stopPropagation(); //防止冒泡
});
遥望那些年 2011-09-14
  • 打赏
  • 举报
回复
http://www.w3school.com.cn/jquery/traversing_is.asp

$("ul").click(function(event) {
var $target = $(event.target);
if ( $target.is("li") ) {
$target.css("background-color", "red");
}
});

y75674952 2011-09-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 gxttr 的回复:]

$(".explode").live('click', function() {
clicks = true;
$(".menu-item").click(function() {
clicks = false;
alert(clicks);
……
[/Quote]
感谢您的细心教导,我也发现了这个问题,难怪 第一次点击会无效..
但是我真想解决的.问题. 还一直没有解决...希望能帮助一下
遥望那些年 2011-09-14
  • 打赏
  • 举报
回复
$(".explode").live('click', function() {
clicks = true;
$(".menu-item").click(function() {
clicks = false;
alert(clicks);
})
alert(clicks);
})

加上红色的部分
你内部的那个click只不过是声明绑定而已。所以第一次点击,先执行了绑定,并没有执行click,返回true。第二次点击时,因为已经绑定了,所以先返回false,然后再是执行外面主体的click,返回true。

87,907

社区成员

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

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