我正在尝试配置一个屏幕键盘,用户可以使用该键盘将内容输入到输入元素中,当输入元素内部的字符串长度超过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函数,但是当通过屏幕键盘输入文本时它不起作用。我还想确定用户需要点击元素外的空格才能执行该功能。
任何帮助都将非常感谢,任何问题都让我知道。
答案 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" />
当输入被更改,用户释放一个键(即类型)或者将某些内容粘贴到输入字段时,这将触发您的代码。