他のところをクリックしたら閉じる javascript

Pocket
LINEで送る

下のスクリプトでやったらパソコンとAndroidはうまく閉じるけど、iPhoneで試したら閉じない。

function toggle_sub_menu(){
	$('#sub_menu').slideToggle(300);
	event.stopPropagation();
}

$(document).on('click', 'body', function(e){
	if(!$(e.target).is('.el-icon-lines')){
		if(!$(e.target).is('#sub_menu') && !$(e.target).closest('#sub_menu').size()){
			if($('#sub_menu').is(':visible')){
				$('#sub_menu').slideUp(200);
			}
		}
	}
});

safariも大丈夫だけどiPhoneだけだめで、bodyのクリックイベントを受けてないようだ。
iPhoneのclickイベントの挙動

ここに色々書いてくれてるのでこれみたら解決しそう。
sub_menu見えてるかチェック先にやった方がいいか。

Pocket
LINEで送る

コメントください

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください