Javascript Has类为';不行吗?
我有一个jquery方法,它应该检查菜单是否打开(使用该类),以及单击是否发生在该类的元素之外 到目前为止,它取消了购物车的打开,因为它将立即添加类(打开)并删除类 我不确定发生了什么,因为这不是我告诉我的代码要做的 有什么想法吗Javascript Has类为';不行吗?,javascript,jquery,Javascript,Jquery,我有一个jquery方法,它应该检查菜单是否打开(使用该类),以及单击是否发生在该类的元素之外 到目前为止,它取消了购物车的打开,因为它将立即添加类(打开)并删除类 我不确定发生了什么,因为这不是我告诉我的代码要做的 有什么想法吗 $(document).on('click', function (e) { if (jQuery('body').hasClass("cbp-spmenu-push-toleft") == true && jQuery(e.
$(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')
}
}
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');
}
});
你在哪里添加了问题中提到的类?你能提供更多的代码吗。就像e.a.HTML和其他Javascript部分一样,你是否正确地编写了点击绑定代码?如果有body类条件,您可以通过放置警报/日志b4进行检查。您是否从文档中捕获了click事件?您需要用单击的元素替换文档。