Как показать popover, если пользователь только начинает печатать в поле ввода?
У меня есть поле ввода, я хочу показывать всплывающее окно только тогда, когда пользователь вводит в поле, и я не хочу показывать всплывающее окно в первый раз, когда поле ввода пусто. Я написал следующий код, но он показывает всплывающее окно в первый раз, когда я нажимаю на него! Есть ли способ это исправить? вот plnkr, чтобы показать проблему:
http://plnkr.co/edit/d6WzzJYgDHlBmx1Pfb9L?p=preview
<input type="text"
value="Click me!"
ng-model="value"
popover-is-open="!!value"
uib-popover="This must be shown when use has typed value"
popover-trigger="focus"
class="form-control">
4 ответа
Я пробовал много других решений, но это сработало только для меня.
Я решил это, добавив новую кнопку со скрытой видимостью и привязкой всплывающего окна с этой кнопкой. При вводе щелчка ввода я открыл это всплывающее окно вручную.
Я знаю, что вы нашли решение, это использует UIB, а также использует триггер "щелчок мышью"
<input vm.detectChange popover-append-to-body="true" popover-placement="right" uib-popover-template="'popup.html'" popover-is-open="isOpen" popover-trigger="mouseclick" popover-title="Popup: ">
Я нашел способ получить желаемый результат, вот как:
<input type="text"
value="Click me!"
ng-model="value"
popover-is-open="!!value && popUpOpen"
uib-popover="This must be shown when use has typed value"
popover-trigger="none"
ng-blur="popUpOpen = false"
ng-focus="popUpOpen = true"
class="form-control">
Попробуйте этот код, пожалуйста, я изменил нажмите, чтобы изменить.
<div ng-controller="PopoverDemoCtrl">
<br />
<br />
<br />
<input type="text"
value="Click me!"
ng-model="value"
popover-is-open="!!value"
uib-popover="This must be shown when use has typed value"
popover-trigger="change"
class="form-control">
<br />
{{value}} -- {{!!value}}
</div>
Скажи мне,
Спасибо!