0

我正在为我的网站创建一个非常基本的带有标签生成的自动完成功能。删除退格键上的标签时遇到问题。这是我处理退格键的方法...

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.("keydown") 工作,直到我模糊该字段然后它删除标签项

我也尝试过.on("keyup")并且一旦我的 txt 字段为空而不是删除,但是当然,当您键入最后一个字符时,该字段为空,因此它会删除最后一个字符加上我的一个标签。

如何使用退格键擦除我的文本字段,然后当它为空时开始擦除标签而不会出现这些错误?

谢谢你的帮助。

4

1 回答 1

0

我想到了!使用 keydown 事件时,每次我模糊并重新聚焦元素时,它都会增加事件。我通过从元素中解除绑定事件解决了这个问题

于 2013-08-23T20:53:09.740 回答