Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

md-input not firing blur event #337

Closed
rushi216 opened this issue Apr 20, 2016 · 5 comments · Fixed by #449
Closed

md-input not firing blur event #337

rushi216 opened this issue Apr 20, 2016 · 5 comments · Fixed by #449
Labels
P2 The issue is important to a large percentage of users, with a workaround
Milestone

Comments

@rushi216
Copy link

Note: for support questions, please use one of these channels:
https://github.com/angular/material2/blob/master/CONTRIBUTING.md#question.
This repository's issues are reserved for feature requests and bug reports.

  • Do you want to request a feature or report a bug?
    Bug
  • What is the current behavior?
    Blur event is not firing on elements, even if we provide <md-input (blur)="logBlur()">.
  • If the current behavior is a bug,
    please provide steps to reproduce and if possible a minimal demo of the problem

    via https://plnkr.co or similar.
    Can't find base plunker for md-input
  • What is the expected behavior?
    Blur event should fire
  • What is the motivation / use case for changing the behavior?
  • Which version of Angular and Material, and which browser and OS does this issue affect?
    Did this work in previous versions of Angular / Material?
    Please also test with the latest stable and snapshot versions.
    Tested on 2.0.0.alpha-2 in Chrome
  • Other information
    (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix)
@jelbourn jelbourn added the P2 The issue is important to a large percentage of users, with a workaround label Apr 20, 2016
@jelbourn jelbourn added this to the alpha.5 milestone Apr 20, 2016
@jelbourn
Copy link
Member

@hansl really starting to think we should start poking at the host projection feature after ng-conf...

@ratscrew
Copy link

(input) (focus) ... and other events are also not being emitted for md-input, is this by design or will they be added in the future? thanks in advance

ps 👍 for (blur)

@ratscrew
Copy link

For any one looking for a stop gap here is a quick and dirty directive:

import {Directive,Output,ViewContainerRef,EventEmitter, OnInit} from '@angular/core';
import {MdInput} from '@angular2-material/input';

@Directive({
    selector:'md-input[blur]'
})
export class mdInputBlurEvent implements OnInit {
    @Output('blur') blur:EventEmitter<any> = new EventEmitter();
    private _component:MdInput;

    constructor( private _vewContainerRef: ViewContainerRef){ }

    ngOnInit() {
        let me = this;
        me._component = (<any>me._vewContainerRef)._element.component

        me._component['onBlur'] = ()=>{
          me.onBlur();
        }
    }

    onBlur() {
        this.blur.next({target:{value:this._component.value}});
        (<any>this._component)._focused = false;
        (<any>this._component)._onTouchedCallback();
    }

}

@ratscrew
Copy link

thanks @robertmesserle

@angular-automatic-lock-bot
Copy link

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Sep 4, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
P2 The issue is important to a large percentage of users, with a workaround
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants