У меня есть две кнопки на моей форме. Пользователь нажимает на любую из кнопок, и выпадающее изображение отображается для соответствующей кнопки. Теперь пользователь щелкает случайным образом в любом месте формы. Поэтому теперь я хочу, чтобы выпадающее меню было скрыто..not() function in jQuery
Мой код имеет:
$('html').not("button.btn.dark.dropdown.copy").on 'click', (e) ->
if $('ul.drop-menu.copy-menu').css('display') != 'none'
$('ul.drop-menu.copy-menu').hide()
$('html').not("button.btn.dark.dropdown.move").on 'click', (e) ->
if $('ul.drop-menu.move-menu').css('display') != 'none'
$('ul.drop-menu.move-menu').hide()
В приведенном выше коде, он отлично работает для кнопки перемещения, но не работает кнопка копирования. Я не могу найти причину этого. Любая помощь приветствуется.
проверка целевого существования с 'e.target'! –
Вы выбираете все элементы 'html', которые не являются элементами' button.btn.dark.dropdown.move', то есть вы по-прежнему выбираете корень 'html'. Вам нужно проверить внутри обратного вызова, чтобы определить, была ли цель события в согласованном селекторе. – zzzzBov
из-за javascript по строчной иерархии, только последняя работа будет работать. вы должны использовать цель, как указано выше, и сделать выбор в документе не на html. – abhijit