我正在创建一个非常基本的自动完成与标签生成我的网站。当移除backspace键上的标签时,我遇到了问题。这是我处理后台的方法..。
var txt = elem.val();
var tagArray = [];
if(keyCode === 8 && !txt && tagArray.length > 0){
$(".mytag:last").remove();
tagArray.splice(-1,1);
}我尝试过使用.on("keydown"),并且每隔一段时间它就会擦除多个项目,因为在按键上,根据按住按钮的长度,多次触发backspace。
编辑新开发,on.("keydown")工作,直到我模糊该字段,然后它删除标记项
我还尝试了.on(" keyup "),并且一旦txt字段为空而不是删除,但是当然,当您在最后一个字符时,当您键入该字段时,该字段是空的,因此它删除了最后一个字符加上我的一个标记。
如何使用backspace键擦除我的文本字段,然后当它是空的,开始擦除标签而没有这些错误?
谢谢你的帮助。
发布于 2013-08-23 20:53:09
我想出来了!当使用keydown事件时,每当我模糊该元素并将其重新聚焦时,它都会递增该事件。我通过从元素中解除事件的绑定来解决这个问题。
https://stackoverflow.com/questions/18409056
复制相似问题