我有一个jquery方法,它应该检查菜单是否打开(使用类),以及是否在该类的元素外面发生了单击。
到目前为止,它取消了开放的购物车,因为它会立即添加类(打开)删除类。
我不确定发生了什么,因为那不是我告诉我的代码。
有什么想法吗?
$(document).on('click', function (e) {
if (jQuery('body').hasClass("cbp-spmenu-push-toleft") == true
&& jQuery(e.target).hasClass('cbp-spmenu-open') == false)
{
console.log('clock')
jQuery('body').removeClass('cbp-spmenu-push-toleft')
jQuery('#cbp-spmenu-s2').removeClass('cbp-spmenu-open')
}
}
答案 0 :(得分:0)
e.target
这指的是点击发生的任何元素,而不是您认为的那个
你应该把
//$(document)
$("#cbp-spmenu-s2").on('click', function () {
if ($('body').hasClass("cbp-spmenu-push-toleft")&&!$(this).hasClass('cbp-spmenu-open')) {
console.log('clock')
$('body').removeClass('cbp-spmenu-push-toleft');
$('#cbp-spmenu-s2').removeClass('cbp-spmenu-open');
}
});