在最小/最大属性更改后输入的Chrome内置选择器输入类型="时间"扼流圈

Ome*_*Gak 5 html javascript google-chrome

我在Chrome内置时间选择器中发现了一个相当恼人的错误,它与更新on 的min/ max属性<input type="time">有关change,我需要它.

一旦该字段包含有效时间,change事件将在每次击键和更改min/ max属性时触发.所以,如果我尝试在几小时或几分钟内输入一个两位数,Chrome会在第一次击键后做一些有趣的事情.假设我已经01:00 PM在现场,我专注于00并尝试键入不同的东西:

  input    value transitions
 -------  --------------------------------------------
 1 1   :  01:00 PM => 01:01 PM => 01:01 PM
 1 0   :  01:00 PM => 01:01 PM => 01:00 PM
 1 1 1 :  01:00 PM => 01:01 PM => 01:01 PM => 01:11 PM
Run Code Online (Sandbox Code Playgroud)

对我而言,它看起来像是Chrome中的一个错误,但与此同时我需要一些解决方法(除了禁用内置选择器)并且我没有想法.我已经能够找出问题所以你可以在这里看到它:

https://jsfiddle.net/omegak/snoykv1j/

int*_*2_t 0

max仅当您需要更改最大值时,我们可以通过设置属性来解决该问题。

if ($(e.target).attr('max'))
    $(e.target).attr('max', '');
Run Code Online (Sandbox Code Playgroud)