Gro*_*nix 4 internet-explorer-11 angular-material angular
我使用 Angular 4.2.4 和 Angular Material 2.0.0.beta.12 并具有以下表单字段:
<mat-form-field>
<input matInput placeholder="street" value="{{info.street}}" [(ngModel)]="info.street" (ngModelChange)="formChange()">
</mat-form-field>
Run Code Online (Sandbox Code Playgroud)
在 Firefox 和 Chrome 中,一切正常,如果我更改输入值,则会触发事件。但在 Internet Explorer 11 中,每次加载网站或如果我将焦点放在输入字段上,ngModelChange 就会触发。
有办法解决这个问题吗?(更改)正在发挥作用,但只有当我将注意力集中在不切实际的输入上时才会触发。
我发现占位符属性是 Internet Explorer 中的不同之处。如果没有它,它ngModelChange就会按预期工作。
这种情况的解决方法是将占位符放在方括号中:
[placeholder]="'placeholder value'"
Run Code Online (Sandbox Code Playgroud)
我假设占位符稍后会附加到输入元素(在 IE 处理它之后),这就是 IE 不触发ngModelChange事件的原因。
| 归档时间: |
|
| 查看次数: |
2984 次 |
| 最近记录: |