Javascript / HTML屏幕键盘使用输入标签

时间:2017-12-11 14:51:20

标签: javascript html

我正在尝试配置一个屏幕键盘,用户可以使用该键盘将内容输入到输入元素中,当输入元素内部的字符串长度超过1时,执行特定的功能。

到目前为止,我有以下内容:

<form>
    <input id="search" type="text" onchange="livesearch(this.value)">
</form>

这是输入元素本身,它在onchange上执行以下函数:

function livesearch(input){
    if(input.length > 1){
        alert(input);
    }
}

但是,要从屏幕键盘输入字符到输入元素,我使用以下内容:

document.getElementById('search').value += 'Q' 

在搜索框的长度超过1并且用户单击框周围的空白区域时运行livesearch函数,但是当通过屏幕键盘输入文本时它不起作用。我还想确定用户需要点击元素外的空格才能执行该功能。

任何帮助都将非常感谢,任何问题都让我知道。

1 个答案:

答案 0 :(得分:0)

在输入失去焦点之前,change事件不会触发。要实现你所要求的,你可以做这样的事情(使用jQuery):

$('input').on('change keyup paste', function() {
  console.log("Add your logic here...")
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" />

当输入被更改,用户释放一个键(即类型)或者将某些内容粘贴到输入字段时,这将触发您的代码。