Javascript 如何知道用户是否在输入中添加或删除字符

Javascript 如何知道用户是否在输入中添加或删除字符,javascript,input,sapui5,onchange,Javascript,Input,Sapui5,Onchange,我正在使用sap.m.Input控件,并附加了liveChange事件进行控件。我有一个用例,我想知道用户是在Input中添加还是删除字符。我在控制器中尝试了以下操作: onLiveChangeInput: function (oEvent) { var oInput = oEvent.getSource(); if (oEvent.getParameter("newValue").length > oInput._lastValue.length) { c

我正在使用
sap.m.Input
控件,并附加了
liveChange
事件进行控件。我有一个用例,我想知道用户是在
Input
中添加还是删除字符。我在控制器中尝试了以下操作:

onLiveChangeInput: function (oEvent) {
    var oInput = oEvent.getSource();
    if (oEvent.getParameter("newValue").length > oInput._lastValue.length) {
        console.log("added");
    } else {
        console.log("deleted");
    }
}

这对于在输入中添加字符很有效,但对于删除字符则失败,因为
oInput.\u lastValue
没有更新
liveChange
。有没有更好的办法来解决这个问题?提前感谢。

将您自己的_lastValue存储在您的
对象中(最初为空字符串),在事件处理程序末尾更新它,使用它来比较(而不是输入。_lastValue)感谢@Marc的帮助!!但是,在liveChange之前,我们有没有办法获得输入的上一个值?是的,但这取决于输入的初始填充方式检查用户是否使用键盘事件中的“backspace或delete”键。并写出相应的逻辑。