Я использовал следующий код, чтобы «щелкнуть снаружи», чтобы закрыть работу:
При нажатии на показ Div:
$('div.topIconNew').click(
function(){
$(this).siblings('div.topTip').show();
$(this).siblings('div.topDrop').slideDown(240);
При щелчке за пределами окна div:
$('div#wrapper').click(
function(event){
$('div.topIconNew, div.topTip, div.topDrop').hide();
}
);
$('div.topTip, div.topDrop').click(
function(event){
event.stopPropagation();
}
);
Проблема с этим выше заключается в том, что topIconNew .stopPropagation делает так, чтобы после открытия div-элементов topTip и topDrop они не закрывались, если я снова нажму на тот же topIconNew (т. Е. Переключатель) или другой экземпляр topIconNew.
НОВОЕ РЕДАКТИРОВАНИЕ ***
Хорошо, я обдумываю это и задаюсь вопросом, может ли быть решение с помощью операторов if.
Итак, в конечном итоге мне нужен следующий дополнительный код:
$('topIconNew').click(
function(){
$('div.topTip, div.topDrop').hide();
}
);
Тем не менее, я хочу, чтобы вышеприведенное также говорило, что нужно скрывать topTip и topDrop при нажатии только topIconNew , если открыты topTip и topDrop AND скрывают только элементы topTip и topDiv, которые в настоящее время открыт.
Как бы я сказал выше?