Javascript 获取keyup事件的上一个值
我有一个应用程序,当用户点击backspace(键代码8)并且值为空时,我想做一些事情。但是当我用Javascript 获取keyup事件的上一个值,javascript,jquery,html,Javascript,Jquery,Html,我有一个应用程序,当用户点击backspace(键代码8)并且值为空时,我想做一些事情。但是当我用keyup事件尝试时,我会在按键后得到值,而这不是我想要的。 另外,我不想使用keydown,因为我想获取其他内容的当前值 基本上,当没有值且按下backspace时,GOTCHA会触发,但当角色刚被移除时,它也会触发 我想要的是,当输入的前一个值为空时,只记录GOTCHA $(文档).ready(()=>{ $('input')。在('keyup',e=>{ //这是目前的条件,需要进行编辑 c
keyup
事件尝试时,我会在按键后得到值,而这不是我想要的。
另外,我不想使用keydown
,因为我想获取其他内容的当前值
基本上,当没有值且按下backspace时,GOTCHA会触发,但当角色刚被移除时,它也会触发
我想要的是,当输入的前一个值为空时,只记录GOTCHA
$(文档).ready(()=>{
$('input')。在('keyup',e=>{
//这是目前的条件,需要进行编辑
const condition=!$(e.target).val().length&&e.keyCode==8;
如果(条件){
console.log('GOTCHA');//在应该激发之前激发
}
log($(e.target.val().length+','+e.keyCode);
});
$('input')。在('keydown',e=>{
log($(e.target.val().length+','+e.keyCode);
});
});代码>
您可以将上一个值保存在键下输入的数据中
$(文档).ready(()=>{
$('input')。在('keyup',e=>{
//这是目前的条件,需要进行编辑
const condition=!$(e.target).data('previousValue')。length&&e.keyCode==8;
如果(条件){
console.log('GOTCHA');//在应该激发之前激发
}
log($(e.target.val().length+','+e.keyCode);
});
$('input')。在('keydown',e=>{
log($(e.target.val().length+','+e.keyCode);
$(e.target).data('previousValue',$(e.target.val());
});
});代码>
只需计算按键下的条件即可<代码>当角色刚被移除时,它也会触发。
我无法复制这种行为。小提琴中的代码按您的要求工作-当您尝试使用空字段删除时,它仅显示GOTCHA
。这里整理了同样的逻辑以便更清楚:还要注意,您应该在问题中发布所有相关代码。人们不应该为了理解你的要求而离开。我已经为您编辑了这个问题以包含代码段。@Crisimilnumenorean我不知道它的工作方式与我希望的keydown相同,但我需要该回调的另一部分中的当前值,因此我无法使用它。Thanks@RoryMcCrossan事实上,我只是测试了它,但它没有按照我想要的方式工作。当您按backspace键时,输入中只有一个字符,结果将回调拆分为两个字符,谢谢:)