我是前端部门的新手。我试图让div只有可点击,如果它的父亲有一个特定的类应用它。这是我目前的代码。
if( !$('#capstone').closest().hasClass('slick-active') ){
$('#capstone').click(function(e){
$('#capstone-container').fadeIn('slow');
});
$('#capstone-close').click(function(e){
$('#capstone-container').fadeOut('slow');
});
}
这里的问题是儿童div" #capstone仍然可以点击,即使它的父母没有这个类"光滑活跃"适用于它。
答案 0 :(得分:1)
添加事件监听器后,如果您选中添加它的条件变为false,则不会删除它。
相反,您可以在更改课程时手动将其删除。
或者,您可以检查事件处理程序中的条件:
var $capstone = $('#capstone'),
$capstoneContainer = $('#capstone-container');
function condition() {
return !$capstone.closest().hasClass('slick-active');
}
$capstone.on('click', function(e){
if(condition()) $capstoneContainer.fadeIn('slow');
});
$('#capstone-close').on('click', function(e){
if(condition()) $capstoneContainer.fadeOut('slow');
});