2
我有一個關於jQuery關閉系統的問題。我創建了這個DEMO from codepen.io爲什麼當前打開的div不關閉
在這個演示中,你可以看到有兩個div(紅色和藍色)。當你點擊紅色的div時,.CRtW11
將會被激活。但是當你點擊藍色的div後,.CRtW11
就停留在那裏;它需要不活動。那裏有什麼問題,誰能告訴我?
JS
// FOR cR
$("body").on("click", ".cR", function(event) {
event.stopPropagation();
var $current = $(this).find('.CRtW11').toggleClass("CRtW11-active");
$('.CRtW11').not($current).removeClass('CRtW11-active');
var $currenta = $(this).find('.ReaC').toggleClass("ReaC-active");
$(".ReaC").not($currenta).removeClass("ReaC-active");
});
$("body").click(function() {
$(".CRtW11").removeClass("CRtW11-active");
$(".ReaC").removeClass("ReaC-active");
});
// FOR Br
$("body").on("click",".Br", function(event) {
event.stopPropagation();
var $current = $(this).find(".BRc").toggleClass("BRc-active");
$(".BRc").not($current).removeClass("BRc-active");
});
$("body").on("click", function(){
$(".BRc").removeClass("BRc-active");
});
要做到這一點是必須的。爲了回答你的問題:你需要在你的.Br點擊處理函數中添加一行來刪除CRWT11活動類:$(「.CRTW11」)。removeClass(「CRtW11-active」) ; – WKx
因爲你沒有刪除'Br'點擊處理程序中的'CRtW11-active'和'ReaC-active'類。 –
我已更新您的代碼,並創建一個小提琴親切地檢查.. https://jsfiddle.net/wzbenpw8/是你想要的? – RRR