<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 ,,
})
clicks = true;
$(".menu-item").click(function() {
clicks = false;
alert(clicks);
})
alert(clicks);
})加上红色的部分
你内部的那个click只不过是声明绑定而已。所以第一次点击,先执行了绑定,并没有执行click,返回true。第二次点击时,因为已经绑定了,所以先返回false,然后再是执行外面主体的click,返回true。
var $target = $(event.target);
if ( $target.is("li") ) {
$target.css("background-color", "red");
}
});
$(".explode > ul").click(function(event){
event.stopPropagation(); //防止冒泡
});
<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>
测试没问题
<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>