gpt4 book ai didi

javascript - 获取 keyup 事件的前一个值

转载 作者:行者123 更新时间:2023-12-01 02:27:00 24 4
gpt4 key购买 nike

我有一个应用程序,当用户点击退格键(键代码 8)且值为空时,我想执行某些操作。但是当我尝试使用 keyup 事件时,我在按下按键后得到了值,但这不是我想要的。另外,我不想使用 keydown 因为我想获取其他东西的当前值。

基本上,当没有值并且按下退格键时,GOTCHA 确实会触发,但当有一个字符刚刚被删除时,它也会触发。

我想要的是,仅当输入的先前值为空时才记录GOTCHA。

$(document).ready(() => {
$('input').on('keyup', e => {
// this is the condition for now, it need to be edited
const condition = !$(e.target).val().length && e.keyCode === 8;
if (condition) {
console.log('GOTCHA'); // this fires before it should be fired
}
console.log($(e.target).val().length + ', ' + e.keyCode);
});
$('input').on('keydown', e => {
console.log($(e.target).val().length + ', ' + e.keyCode);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<input type="text">
<span></span>

这是一个 fiddle ,让您了解我想要实现的目标 https://jsfiddle.net/0z4cyj2e/1/

感谢您对此进行调查:)

最佳答案

您可以将先前的值保存在 keydown 上输入的 data 属性中。

$(document).ready(() => {
$('input').on('keyup', e => {
// this is the condition for now, it need to be edited
const condition = !$(e.target).data('previousValue').length && e.keyCode === 8;
if (condition) {
console.log('GOTCHA'); // this fires before it should be fired
}
console.log($(e.target).val().length + ', ' + e.keyCode);
});
$('input').on('keydown', e => {
console.log($(e.target).val().length + ', ' + e.keyCode);
$(e.target).data('previousValue', $(e.target).val());
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<input type="text">
<span></span>

关于javascript - 获取 keyup 事件的前一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48684023/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com