退格键在数字输入字段中不起作用斯维尔特3

在使用Svelte3为KaiOS开发应用程序时,我遇到了这个奇怪的问题。当输入字段设置为数字时,退格键不起作用。完全没有。

<input
 bind:this={ref}
 bind:value
 type="number" />

将其设置为“文本”时,效果很好。 Backspace会在按下时删除字符。在这种情况下,退格键是KaiOS设备上的“呼叫结束”按钮。我不知道这是KaiOS问题还是Svelte3问题。

我对WebDev技术不是很熟练,所以我不知道还要尝试什么。一些可能指向某些东西的附加信息。

我在全球范围内只有一位听众

 window.addEventListener("keydown",onKeyDown,true);

我的KeyListener中附加了哪些内容,我可以通过可选元素来控制应用程序导航。当输入字段具有焦点时按退格键时,这也不会触发。我尝试过的事情。

  • 将功能分配给onkeydown,onkeyup,onkeypressed(它们都不触发退格调用)
  • 删除了我上面提到的事件侦听器,没有任何改变。
  • 以非精简的方式将功能分配为纯JS内联函数。

在KaiOS上,仅onkeydown会触发,以防向任何Web开发JS专家提供提示。我不知道该怎么办任何建议将不胜感激。

jiao860809 回答:退格键在数字输入字段中不起作用斯维尔特3

我们不知道为什么这行得通,但是将输入类型设置为“ tel”会使退格键触发,并且输入字段可以正常工作,同时仍然只允许数字输入。

,

要处理窗口上的事件,可以使用<svelte:window>。例如:

<svelte:window on:keypress={handleKeypress}/>

但是,如果您要做的只是监视输入的按键,则可以直接使用<input><input on:keypress={...}/>上进行操作。

下面是处理输入的按键操作的示例:https://svelte.dev/repl/bfd93b0799c142979eefa1f2558bfb96?version=3.20.1

本文链接:https://www.f2er.com/2566883.html

大家都在问