Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 自动完成和退格键_Javascript_Jquery - Fatal编程技术网

Javascript 自动完成和退格键

Javascript 自动完成和退格键,javascript,jquery,Javascript,Jquery,我正在为我的网站创建一个非常基本的自动完成标签生成。删除退格键上的标记时出现问题。下面是我如何处理退格 var txt = elem.val(); var tagArray = []; if(keyCode === 8 && !txt && tagArray.length > 0){ $(".mytag:last").remove(); tagArray.splice(-1,1); } 我尝试过使用.on(“keydown”)并且每隔一段

我正在为我的网站创建一个非常基本的自动完成标签生成。删除退格键上的标记时出现问题。下面是我如何处理退格

var txt = elem.val();
var tagArray = [];

if(keyCode === 8 && !txt && tagArray.length > 0){
    $(".mytag:last").remove();
    tagArray.splice(-1,1);
}
我尝试过使用.on(“keydown”)并且每隔一段时间它就会删除我假设的多个项目,因为on keydown会根据您按住按钮的长度多次触发退格

编辑 新开发,打开。(“键控”)会一直工作,直到我模糊字段,然后它会删除标记项

我也尝试过.on(“keyup”)并且一旦我的txt字段为空,就会删除,但当然,当你在最后一个字符上键入时,该字段为空,因此它会删除最后一个字符加上我的一个标记

如何使用backspace键擦除文本字段,然后在文本字段为空时开始擦除标记而不出现这些错误


谢谢你的帮助。

我知道了!当使用keydown事件时,每当我模糊并重新聚焦元素时,它都会增加事件。我通过解除事件与元素的绑定解决了这个问题

您能提供一个JSFIDLE来演示您遇到的问题吗?