如何在Angular2中检测到onBlur事件? 我想用
<input type="text">
任何人都可以帮我理解如何使用它吗?
答案 0 :(得分:166)
将(eventName)
用于while绑定事件到DOM,基本上()
用于事件绑定。还可以使用ngModel
来获取myModel
变量的双向绑定。
<强>标记强>
<input type="text" [(ngModel)]="myModel" (blur)="onBlurMethod()">
<强>代码强>
export class AppComponent {
myModel: any;
constructor(){
this.myModel = '123';
}
onBlurMethod(){
alert(this.myModel)
}
}
替代(不可取)
<input type="text" #input (blur)="onBlurMethod($event.target.value)">
要在blur
上触发验证的模型驱动表单,您可以传递updateOn
参数。
ctrl = new FormControl('', {
debounce: 1000,
updateOn: 'blur', //default will be change
validators: [Validators.required]
});
答案 1 :(得分:8)
你也可以使用(聚焦)事件。
<input type="text" [(ngModel)]="model" (focusout)="yourMethod($event)">
在ts文件中
export class AppComponent {
model: any;
constructor(){ }
yourMethod(){
console.log('your Method is called');
}
}
答案 2 :(得分:7)
您可以直接在输入标记中使用(模糊)事件。
<div>
<input [value] = "" (blur) = "result = $event.target.value" placeholder="Type Something">
{{result}}
</div>
您将在&#34; 结果&#34;
中获得输出答案 3 :(得分:1)
/*for reich text editor */
public options: Object = {
charCounterCount: true,
height: 300,
inlineMode: false,
toolbarFixed: false,
fontFamilySelection: true,
fontSizeSelection: true,
paragraphFormatSelection: true,
events: {
'froalaEditor.blur': (e, editor) => { this.handleContentChange(editor.html.get()); }}
答案 4 :(得分:1)
这是关于Github回购的建议答案:
// example without validators
const c = new FormControl('', { updateOn: 'blur' });
// example with validators
const c= new FormControl('', {
validators: Validators.required,
updateOn: 'blur'
});
Github : feat(forms): add updateOn blur option to FormControls
答案 5 :(得分:0)
HTML
<input name="email" placeholder="Email" (blur)="$event.target.value=removeSpaces($event.target.value)" value="">
TS
removeSpaces(string) {
let splitStr = string.split(' ').join('');
return splitStr;
}
答案 6 :(得分:0)
尝试使用(聚焦)代替(模糊)