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

时间:2016-05-27 15:12:56

标签: javascript html google-chrome

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

一旦该字段包含有效时间,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

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

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

1 个答案:

答案 0 :(得分:0)

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

if ($(e.target).attr('max'))
    $(e.target).attr('max', '');