jqueryを使用してドロップダウンボックスを表示しようとしています。それはうまく機能しています。リストを開いた後、ページの他の位置をクリックしたときにドロップダウンリストを非表示にするオプションも実装しました。そのために次のjQueryを使用しました。
$('div.selectBox').each(function(){
$(this).children('span.selected').html($(this).children('div.selectOptions').children('span.selectOption:first').html());
$(this).attr('value',$(this).children('div.selectOptions').children('span.selectOption:first').attr('value'));
$(this).children('span.selected,span.selectArrow').click(function(){
if($(this).parent().children('div.selectOptions').css('display') == 'none'){
$(this).parent().children('div.selectOptions').css('display','block');
}
else
{
$(this).parent().children('div.selectOptions').css('display','none');
}
});
$(document).unbind('click');
$(document).click(function(event){
if($(event.target).closest('div.selectBox').length == 0) {
$('.selectOptions').hide();
}
});
$(this).find('span.selectOption').click(function(){
$(this).parent().css('display','none');
$(this).closest('div.selectBox').attr('value',$(this).attr('value'));
$(this).parent().siblings('span.selected').html($(this).html());
});
});
サイトの他の部分をクリックすると、完全に閉じたり非表示になったりします。ただし、問題は、他の<div>
タグが非表示になっている、またはdisplay:none;
この操作を実行した後に発生することです。
これに対する解決策を教えてください。上記のURLで完全に影響していることがわかります。その他の情報が必要な場合はお知らせください。