如何在 keyup 事件中获取已删除的字符
How to get a deleted character on keyup event
我想在退格事件中获取最后删除的字符,以便我可以相应地修改其他一些 div。我正在寻找的功能如下:
$('.tags').keyup(function (e) {
if (e.keyCode == 8) {
var t = e.target;
let deletcChar = //find the deleted character
console.log("deleted char is:", deletedChar);
//do something about deletcChar
}
});
我在这里找到的解决方案(如 this)都非常复杂并且基于按键。
一个更简单的解决方案 here 使用 (e.target.value[even.target.selectionStart - 1])
,它不适用于 keyup。
所以我想知道 jquery 中是否有 keyup() 的直接方法?
您可以在页面加载时设置一个数据属性来存储最后的状态,然后在每次更新时从中找到删除的字符
$(document).ready(function() {
$('.tags').each(function() {
$(this).attr('data-laststate', $(this).val())
})
$('.tags').keyup(function(e) {
if (e.keyCode == 8) {
let deletedChar = $(this).attr('data-laststate').slice(-1);
console.log("deleted char is:", deletedChar);
}
$(this).attr('data-laststate', $(this).val())
});
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input class='tags' value='php,html,asp' />
我想在退格事件中获取最后删除的字符,以便我可以相应地修改其他一些 div。我正在寻找的功能如下:
$('.tags').keyup(function (e) {
if (e.keyCode == 8) {
var t = e.target;
let deletcChar = //find the deleted character
console.log("deleted char is:", deletedChar);
//do something about deletcChar
}
});
我在这里找到的解决方案(如 this)都非常复杂并且基于按键。
一个更简单的解决方案 here 使用 (e.target.value[even.target.selectionStart - 1])
,它不适用于 keyup。
所以我想知道 jquery 中是否有 keyup() 的直接方法?
您可以在页面加载时设置一个数据属性来存储最后的状态,然后在每次更新时从中找到删除的字符
$(document).ready(function() {
$('.tags').each(function() {
$(this).attr('data-laststate', $(this).val())
})
$('.tags').keyup(function(e) {
if (e.keyCode == 8) {
let deletedChar = $(this).attr('data-laststate').slice(-1);
console.log("deleted char is:", deletedChar);
}
$(this).attr('data-laststate', $(this).val())
});
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input class='tags' value='php,html,asp' />