2015-07-16 2 views
0

У меня есть панель при нажатии кнопки hide/show В области ввода панели, используется автозаполнение для отображения данных.Проблема с остановкой объекта автозаполнения

$('body').click(function() { 
    $('.bk-panel').hide(); 
}); 

На щелчку панели кузова скрывает также он отлично работает с внутренними элементами/По щелчку внутреннего элемента, который он не скрывает, как я использовал это:

$('.bk-panel').click(function (e) { 
    e.stopPropagation(); 
}); 

Но на входе был я автозаполнение jquery> при щелчке списка ul li, который приходит, он скрывает мою панель div.

Я попытался распространение на все эти классы> щ-автозаполнение щий авансовым щий меню UI-виджет UI-виджет-контент UI-краеугольное все/Ничего не похоже на работу

+0

Есть решение: Если какой-либо один потребует решения: $ (»автозаполнения, .ui-автозаполнения, .ui-меню пункт, #u. i-id-1021 '). click (function (e) { e.stopPropagation(); }); – Vinayak

ответ

0

Другой простой альтернативы:

$('body').click(function (e) { 
    var container = $('.bk-panel'); 

    // if the target of the click isn't the container... 
    // ... nor a descendant of the container 
    if (!container.is(e.target) && container.has(e.target).length === 0) { 
     container.hide(); 
    } 
}); 

Fiddle: https://jsfiddle.net/azq4wjdj/

Смежные вопросы