Angular 2:为什么我需要在IE 11(输入范围滑块元素)中使用(更改)而不是(输入)?

时间:2017-01-30 15:53:57

标签: internet-explorer angular slider

所以我有一个输入滑块。

 <input
            (change)="updateSliderValue(slider.value)" type="range"
            [min]="_minValue" [max]="_maxValue" [step]="_stepValue"  #slider
            [ngModel]="_currentValue">

作品

但是

 <input
            (input)="updateSliderValue(slider.value)" type="range"
            [min]="_minValue" [max]="_maxValue" [step]="_stepValue"  #slider
            [ngModel]="_currentValue">

没有。

但这只是IE 11中的一个问题。

在包括Edge在内的其他浏览器中,这不是问题。

我没有测试过每一个版本的Firefox,Chrome,Safari和Edge,而只是我在Mac和Windows笔记本电脑上的单个副本(如果没有自动更新,部分或全部可能是最新的,如果不是,然后是最近的。)

1 个答案:

答案 0 :(得分:0)

这是因为IE11如何工作。 inputchange事件在IE中的行为与其他浏览器不同。

您可以使用ngModelChange来获得一致的行为

<input
        (ngModelChange)="updateSliderValue($event)" type="range"
        [min]="_minValue" [max]="_maxValue" [step]="_stepValue"  #slider
        [ngModel]="_currentValue">