@matheusbaumgart wrote:
I'm not sure what's going on, but every time I close the keyboard by clicking on the cancel button, it will come up again. Looks like there is a delay on the "tap" and it would click again to "focus" on the input field and open the keyboard again. The weirdest thing is that if I type on this "second" keyboard, nothing will be added to the search field.
This is the directive:
var searchDirective = function($timeout) { return { restrict: 'E', replace: true, scope: { search: '=?filter' }, link: function(scope, element, attrs) { scope.placeholder = attrs.placeholder || ''; scope.search = {value: '', focus: false}; if (attrs.class) { element.addClass(attrs.class); } // We need the actual input field to detect focus and blur var inputElement = element.find('input')[0]; // This function is triggered when the user presses the `Cancel` button scope.cancelSearch = function() { // Manually trigger blur inputElement.blur(); scope.search.value = ''; }; // When the user focuses the search bar angular.element(inputElement).bind('focus', function () { // We store the focus status in the model to show/hide the Cancel button scope.search.focus = 1; // Add a class to indicate focus to the search bar and the content area element.addClass('search-bar-focused'); angular.element(document.querySelector('.has-search-bar')).addClass('search-bar-focused'); // We need to call `$digest()` because we manually changed the model scope.$digest(); }); // When the user leaves the search bar angular.element(inputElement).bind('blur', function() { scope.search.focus = 0; element.removeClass('search-bar-focused'); angular.element(document.querySelector('.has-search-bar')).removeClass('search-bar-focused'); }); }, template: '<div class="search-bar item-input-wrapper">' + '<i class="icon ion-ios-search placeholder-icon"></i>' + '<input type="search" placeholder="Search Auror" onfocus="this.placeholder = \'\'" onblur="this.placeholder = \'Search Auror\'" ng-model="search.value">' + '<button class="button button-clear btn-small" ng-show="search.focus" ng-click="cancelSearch()">' + 'Cancel' + '</button>' + '</div>' }; };
Check this gif
Any ideas about what is going on?Thanks!!
Posts: 1
Participants: 1