【问题标题】:Selecting iOS-Keyboard when input is created by javascriptjavascript 创建输入时选择 iOS 键盘
【发布时间】:2020-06-13 02:09:01
【问题描述】:

通过 javascript 创建输入时,移动 safari 不会选择正确的键盘。对于first input,显示decimalPad-keyboard,但对于second input,仅显示numbersAndPunctuation-keyboard

我该如何解决这个问题?

let myInput = document.createElement('input');
myInput.id = 'second';
myInput.type = 'number';
myInput.min = '0';
myInput.step = 'any';
myInput.inputmode = 'decimal';

document.getElementById('here').appendChild(myInput);
first input: <input id='first' type='number' min='0' step='any' inputmode='decimal'>

<div id='here'>second input: </div>

【问题讨论】:

    标签: javascript ios input keyboard


    【解决方案1】:

    而不是使用:

    myInput.inputmode = 'decimal';
    

    使用这个:

    myInput.setAttribute('inputmode','decimal');
    

    myInput.inputMode = 'decimal'; // uppercase M
    

    说明: 一般来说,如果你使用 javascript,html 节点的“DOM 属性”通常用 camelCase 编写!在 HTML 中,您将使用 "alllowercase" 版本。 “不要问为什么。;-)”。但更推荐在节点上使用setAttribute() 方法,因为无论你写什么,这总是会以 DOM 元素属性结束

    【讨论】:

      猜你喜欢
      • 2013-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-31
      • 1970-01-01
      • 2018-02-25
      • 2010-12-25
      • 1970-01-01
      相关资源
      最近更新 更多