如何在第二次点击后删除priSCW-active
。
代码需要工作,但是当我第二次点击container
时它没有关闭。
我在这里想念的是谁能在这方面帮助我?
$(document).ready(function() {
$("body").on("click", ".container", function(event) {
event.stopPropagation();
var ID = $(this).attr("id");
$(".priSCWrap").removeClass("priSCW-active");
$("#open" + ID).toggleClass("priSCW-active").siblings().removeClass('priSCW-active');;
});
$("body").click(function(){
$(".priSCWrap").removeClass("priSCW-active");
});
});
答案 0 :(得分:2)
$(document).ready(function() {
var clicked = 0;
$("body").on("click", ".container", function(event) {
if (++clicked === 2) {
// your code
}
event.stopPropagation();
var ID = $(this).attr("id");
$(".priSCWrap").removeClass("priSCW-active");
$("#open" + ID).toggleClass("priSCW-active").siblings().removeClass('priSCW-active');
});
$("body").click(function(){
$(".priSCWrap").removeClass("priSCW-active");
});
});
答案 1 :(得分:2)
如果您移除了removeClass()
来电,则切换功能可以满足您的需求。在您删除课程时,切换将始终立即重新添加。另请注意,.priSCWrap
元素不是兄弟元素,因此siblings()
不会选择任何内容。您需要再次查询这些元素并从匹配集中删除当前,以删除任何现有的priSCWrap-active
类。试试这个:
$("body").on("click", ".container", function(event) {
event.stopPropagation();
var $current = $(this).find('.priSCWrap').toggleClass("priSCW-active");
$('.priSCWrap').not($current).removeClass('priSCW-active');
});
另请注意this
和find()
的使用,否定了将id
选择器放在一起的必要性。
答案 2 :(得分:0)
您必须删除此行
$(".priSCWrap").removeClass("priSCW-active");