我有一个包含HTML5输入字段的对话框,其中包含type="time"
。
当对话框出现时,我想将编辑默认为对话框的“分钟”部分。我找不到任何方法来实现它。
这是一个jsFiddle示例,试图使用:
$("#t")[0].setSelectionRange(3, 5);
毫无效果。
有没有一种方法可以做到这一点?
注意:w3c规范在这里特别引用了以下语句:
以下IDL属性和方法不适用于该元素: checked、files、selectionStart、selectionEnd和selectionDirection IDL属性;select()、setRangeText()和setSelectionRange() 方法。
这可能意味着这根本不可能。
注意2:在尝试调用此方法时,Chrome会抛出此错误。其他浏览器可能会抛出不同的错误:
未捕获的InvalidStateError:尝试使用一个对象, 它不可用或不再可用。
$("#t")[0]
或者纯JavaScript的getElementById
来实现...然而,似乎这样做会引发一个新的错误:"An attempt was made to use an object that is not, or is no longer, usable.",我不确定如何修复这个问题。请注意,如果你使用普通的Text
输入类型,那么它应该能正常工作,所以似乎只针对Time
输入类型有问题。 - musefan