我想在退格事件中获取最后一个删除的字符,以便我可以逐步修改其他一些 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
}
});
我在这里找到的解决方案(像这样)都非常复杂并且基于 keydown。
这里使用了一个更简单的解决方案,(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' />
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句