私は、ボタンをクリックして開いているメニューを持っています。開いているメニューの外をクリックするたびに、私はそれを閉じるように頼まれました。jquery閉じるメニュー(またはモーダル)のための.not()は機能しません。
これは、「それを閉じるために、モーダルの外側をクリックし、」行動に実質的に同一であるが、固定されたメニューヘッダに適用されます。
私はこのような何かを考えた:私が得る、クリックごと)にconsole.log火災 2、
1)私はをクリックしどこ:
$('*').not('.header').on('click', function(){
//close menu function
console.log("close the menu")
});
が、それは多くの方法で働いていません3 console.logが起動しました。ここで
はフィドルです:https://jsfiddle.net/Ln1wabqq/1/
私は
$('*:not(".header")')
$('*').not('.header, .header *')
$('').not('.header')
が、私はまったく同じ出力を得るに$('*')
を変更しようとしました。私はここで完全に間違った道を歩いていますか?
$(document).click(function(event) {
if(!$(event.target).closest('.header').length){
// click outside .header
}
});