Javascript jQuery-单击要隐藏的节,但在单击内部节时忽略
我有这个密码。单击外部部分时,它会显示和隐藏内部部分。类为“innerSect”的内部部分位于类为“outerSect”的外部部分内 除了一件事之外,代码可以按需要工作。单击内部部分时,它将关闭。这在技术上是应该做到的,因为内部部分在外部部分的内部,点击外部部分就是打开和关闭内部部分的方式 我想让它在点击时忽略内部部分。如果可能的话。 也许做一个列表而不是分区?Javascript jQuery-单击要隐藏的节,但在单击内部节时忽略,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有这个密码。单击外部部分时,它会显示和隐藏内部部分。类为“innerSect”的内部部分位于类为“outerSect”的外部部分内 除了一件事之外,代码可以按需要工作。单击内部部分时,它将关闭。这在技术上是应该做到的,因为内部部分在外部部分的内部,点击外部部分就是打开和关闭内部部分的方式 我想让它在点击时忽略内部部分。如果可能的话。 也许做一个列表而不是分区? 以下是可以检查事件目标(您单击的元素)是否具有.innerSect类的父级,或者目标本身是否为.innerSect 可以使用jQuer
以下是可以检查事件目标(您单击的元素)是否具有.innerSect类的父级,或者目标本身是否为.innerSect 可以使用jQuery closest()方法执行此操作: 这是一把小提琴:
但是,在您的情况下,您可以只听h2元素上的单击 像这样的东西应该可以做到:
var $target = $(event.target);
if($target.closest('.innerSect').length){
return false;
}
这应该做到:
$('.workSect').click(function(event){
if(!$('.innerSect').has($(event.target))){
// closing code
}
else {
// don't close
}
});
$('.workSect').click(function(event){
if(!$('.innerSect').has($(event.target))){
// closing code
}
else {
// don't close
}
});
$(document).ready(function() {
var $inners = $('.workSect .innerSect');
$(".workSect").click(function(e) {
if( !$(e.target).closest('.workSect,.innerSect').is('.innerSect') ) {
var $inner = $(this).find('.innerSect'),
visible = $inner.is(':visible');
$inner.css({
'visibility': visible ? 'hidden' : 'visible',
'display': visible ? 'none' : 'block'
});
$inners.not($inner).hide();
}
});
});