函数 event.preventDefault() 在 android chrome 中不起作用



这是我面临的问题的简单示例:jsfiddle 。您不能在PC上的文本字段中输入值。同样的代码在安卓铬上不起作用。我可以在字段中输入任何内容。

我试图防止在特定条件下将文本输入文本框

这是函数

function func(event, src){
    if (condition){
        alert(33);
        event.preventDefault();
    }
}

我是这样用的:

<input onkeydown="func(event, $(this))" />

该代码在窗口即和铬上完美运行。但是,在 android 的 chrome 上,它会显示警报 33,但不会阻止输入文本。我已经尝试了event.stopPropagation();return false但输出仍然相同(仅显示警报)。

注意:由于其他一些功能,我无法使用$("input").keydown()。所以我只能通过 html 使用事件。

您可以尝试此方法:

.HTML

<input id="pVal" />

JavaScript:

const inpt = getElementById('pVal')
inpt.addEventListener('textInput', evt => {
    evt.preventDefault();
})

它适用于安卓浏览器

最新更新