我在更换彼此顶部的两个元素上的onclick事件时遇到了麻烦。
请参阅:http://jsfiddle.net/qkarq2s4/
我的代码:
$(document).ready(function(){
$("div.list").click(function() {
$("div.list").not(this).slideUp();
$("div.showall").hide().delay(200).fadeIn(200);
$("div.list" ).off( "click");
$("div.showall").click(function() {
$("div.list").show(200);
$("div.showall").hide();
});
});
});
1)Onclick仅显示所选的div + [show all]链接
2)点击[show all]显示所有div
这有效,但只有一次(您必须重新加载页面,或单击在jsFiddle中运行) http://jsfiddle.net/qkarq2s4/
答案 0 :(得分:0)
看看这个小提琴:http://jsfiddle.net/qkarq2s4/1/
我已经修好了。您的代码第二次无效的问题是您取消设置 div.list 的点击次数 删除它可以解决问题,我们还需要为 div.showall 添加 stopPropagation ,以便不向父div发送点击事件。
这是工作代码:
$("div.list").click(function() {
$("div.list").not(this).slideUp();
$("div.showall").hide().delay(200).fadeIn(200);
$("div.showall").click(function(e) {
e.stopPropagation();
$("div.list").show(200);
$("div.showall").hide();
});
});