Fixed #5008 - InputNumber: Bug deprecated KeyCode Usage

pull/5418/head
tugcekucukoglu 2024-03-14 14:07:35 +03:00
parent 213267295a
commit ec04c03f82
3 changed files with 34 additions and 37 deletions

View File

@ -82,7 +82,7 @@ export default {
return;
}
let k = event.which || event.keyCode,
let k = event.code,
pos,
begin,
end;
@ -91,14 +91,14 @@ export default {
this.oldVal = this.$el.value;
//backspace, delete, and escape get special treatment
if (k === 8 || k === 46 || (iPhone && k === 127)) {
if (k === 'Backspace' || k === 'Delete' || (iPhone && k === 'Escape')) {
pos = this.caret();
begin = pos.begin;
end = pos.end;
if (end - begin === 0) {
begin = k !== 46 ? this.seekPrev(begin) : (end = this.seekNext(begin - 1));
end = k === 46 ? this.seekNext(end) : end;
begin = k !== 'Delete' ? this.seekPrev(begin) : (end = this.seekNext(begin - 1));
end = k === 'Delete' ? this.seekNext(end) : end;
}
this.clearBuffer(begin, end);
@ -106,11 +106,11 @@ export default {
this.updateModel(event);
event.preventDefault();
} else if (k === 13) {
} else if (k === 'Enter') {
// enter
this.$el.blur();
this.updateModel(event);
} else if (k === 27) {
} else if (k === 'Escape') {
// escape
this.$el.value = this.focusText;
this.caret(0, this.checkVal());
@ -125,17 +125,17 @@ export default {
return;
}
var k = event.which || event.keyCode,
var k = event.code,
pos = this.caret(),
p,
c,
next,
completed;
if (event.ctrlKey || event.altKey || event.metaKey || k < 32) {
if (event.ctrlKey || event.altKey || event.metaKey || event.shiftKey || event.key === 'CapsLock' || event.key === 'Escape' || event.key === 'Tab') {
//Ignore
return;
} else if (k && k !== 13) {
} else if (k && k !== 'Enter') {
if (pos.end - pos.begin !== 0) {
this.clearBuffer(pos.begin, pos.end);
this.shiftL(pos.begin, pos.end - 1);
@ -144,7 +144,7 @@ export default {
p = this.seekNext(pos.begin - 1);
if (p < this.len) {
c = String.fromCharCode(k);
c = event.key;
if (this.tests[p].test(c)) {
this.shiftR(p);

View File

@ -18,7 +18,6 @@
:aria-invalid="invalid || undefined"
@input="onUserInput"
@keydown="onInputKeyDown"
@keypress="onInputKeyPress"
@paste="onPaste"
@click="onInputClick"
@focus="onInputFocus"
@ -334,7 +333,7 @@ export default {
}
},
onUpButtonKeyDown(event) {
if (event.keyCode === 32 || event.keyCode === 13) {
if (event.code === 'Space' || event.code === 'Enter' || event.code === 'NumpadEnter') {
this.repeat(event, null, 1);
}
},
@ -361,7 +360,7 @@ export default {
}
},
onDownButtonKeyDown(event) {
if (event.keyCode === 32 || event.keyCode === 13) {
if (event.code === 'Space' || event.code === 'Enter' || event.code === 'NumpadEnter') {
this.repeat(event, null, -1);
}
},
@ -530,24 +529,24 @@ export default {
break;
default:
if (this.readonly) {
return;
}
event.preventDefault();
let char = event.key;
const isDecimalSign = this.isDecimalSign(char);
const isMinusSign = this.isMinusSign(char);
if (((event.code.startsWith('Digit') || event.code.startsWith('Numpad')) && Number(char) >= 0 && Number(char) <= 9) || isMinusSign || isDecimalSign) {
console.log(event.code);
this.insert(event, char, { isDecimalSign, isMinusSign });
}
break;
}
},
onInputKeyPress(event) {
if (this.readonly) {
return;
}
event.preventDefault();
let code = event.which || event.keyCode;
let char = String.fromCharCode(code);
const isDecimalSign = this.isDecimalSign(char);
const isMinusSign = this.isMinusSign(char);
if ((48 <= code && code <= 57) || isMinusSign || isDecimalSign) {
this.insert(event, char, { isDecimalSign, isMinusSign });
}
},
onPaste(event) {
event.preventDefault();
let data = (event.clipboardData || window['clipboardData']).getData('Text');

View File

@ -129,22 +129,20 @@ export default {
this.$emit('blur', event);
},
onKeyDown(event) {
const keyCode = event.keyCode;
switch (keyCode) {
case 37:
switch (event.code) {
case 'ArrowLeft':
this.moveToPrev(event);
event.preventDefault();
break;
case 38:
case 40:
case 'ArrowUp':
case 'ArrowDown':
event.preventDefault();
break;
case 8:
case 'Backspace':
if (event.target.value.length === 0) {
this.moveToPrev(event);
event.preventDefault();
@ -152,14 +150,14 @@ export default {
break;
case 39:
case 'ArrowRight':
this.moveToNext(event);
event.preventDefault();
break;
default:
if ((this.integerOnly && !((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105))) || (this.tokens.join('').length >= this.length && event.keyCode != 46)) {
if ((this.integerOnly && !((event.code.startsWith('Digit') || event.code.startsWith('Numpad')) && Number(event.code) >= 0 && Number(event.code) <= 9)) || (this.tokens.join('').length >= this.length && event.code !== 'Delete')) {
event.preventDefault();
}