Есть ли способ узнать, что элемент, вызывающий размытие клика, даже был сделан?Найти элемент под кликом, вызывающий размытие
Мне нужно, чтобы значение ui-select устанавливалось на то, что пользователь набрал, когда он нажимает на выпадающее меню. Но когда он нажимает на выпадающий элемент, вход должен быть отброшен и выбран пункт. Поэтому я должен понимать, где была мышь, когда пользователь щелкал входной сигнал от входа ui-select. Я попытался
element.find('input').on('blur', function (e) {
e.target
...
});
но цель всегда указывает на
input.form-control.ui-выбор-search.ng-valid.ng-touched.ng-dirty.ng-Валид-синтаксический
Get element currently under mouse without using mouse events
всегда находит выделен выпадающий элемент объявления
Determine which element the mouse pointer is on top of in Javascript
не работает, поскольку я не могу использовать свойства DOM X/Y.
Любые идеи?
ps: no jquery.
Попробуйте воспроизвести сценарий с помощью jsbin, jsfiddle ... –
Вы отметили это с помощью angularjs, возможно, стоит посмотреть на ng-blur? https://docs.angularjs.org/api/ng/directive/ngBlur – robstarbuck
В 'focus' ввода, установите« click »eventlistener на корневом элементе' document', который первым, идентифицирует элемент, который получил щелчок («event.target», аналогичный вашему использованию выше), затем 'for' /' while' цикл через event.target и все его родители (вплоть до дерева DOM), ища совпадение [ «оригинал» сфокусирован «']. Если ни «element.target», ни какой-либо из родителей/предков не совпадают, вы нашли этот элемент. Верните ли вы матч или нет, вы, вероятно, захотите удалить этот eventListener, когда обработчик будет выполнен. –