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”键。并写出相应的逻辑。