1
這兩個代碼塊基本上是相同的只是不同的元素是如何將我去到一個可重複使用的腳本將它們合併jQuery的單擊事件合併成一個單一DRY代碼塊
$('.menu-button').on('click', function(e) {
e.preventDefault();
e.stopPropagation();
$('#sidebar').toggleClass('sidebar-open');
$('#cart').removeClass('cart-open');
$(document).one('click', function closeMenu (e){
//console.log("DF");
if($('#sidebar').has(e.target).length === 0){
console.log("DF");
$('#sidebar').removeClass('sidebar-open');
} else {
$(document).one('click', closeMenu);
}
});
});
$('.cart-button').on('click', function(e) {
e.preventDefault();
e.stopPropagation();
$('#sidebar').removeClass('sidebar-open');
$('#cart').toggleClass('cart-open');
$(document).one('click', function closeMenu (e){
//console.log("DF");
if($('#cart').has(e.target).length === 0){
$('#cart').removeClass('cart-open');
} else {
$(document).one('click', closeMenu);
}
});
});