2015-08-12 2 views
-1

У меня есть div, которые показывают, когда я нажимаю на ссылку. Я написал несколько js, если я выхожу за пределы этого div, он должен скрыться. Но я столкнулся с такой проблемой, если щелкнуть, например, на входе с id fullFilter, он скроется.Зачем формировать скрыть, когда я нажимаю на него

Я написал это решить эту проблему

$(document).click(function(e) { 
    if (e.target.class != 'full-filter' && e.target.id != 'fullFilter' && e.target.id != 'resetFilter' && e.target.id != 'salaryFrom' && e.target.id != 'salaryTo') { 
     $('.full-filter').hide(); 
    } 
}); 

Но если я нажимаю на моей форме, он также скрыть. Это класс full-filter. Что я делаю неправильно? Пожалуйста, помогите

+1

Try 'e.target.className' вместо' 'e.target.class' –

+0

$ ('полный фильтр.') Скрыть();.' <- Я * достаточно уверен * поэтому форма с классом 'full-filter' скрыта ... – David

+0

' console.log (e.target) 'Я сомневаюсь, что это форма – epascarello

ответ

1

Лучше прогуляться по дереву, чтобы найти, хотите ли вы щелкнуть внутри формы. Самый простой способ сделать это - использовать closest.

$(document).click(function(e) { 
    if (!$(e.target.closest(".full-filter").length) { 
     $('.full-filter').hide(); 
    } 
}); 
Смежные вопросы