01.
handleHotBeforeKeyDown:
function
(e) {
02.
var
selectedLast =
this
.getSelectedLast();
03.
if
(!selectedLast) {
04.
return
;
05.
}
06.
var
row = selectedLast[0];
07.
var
col = selectedLast[1];
08.
var
celltype =
this
.getCellMeta(row, col).type;
09.
10.
11.
if
(celltype ===
"numeric"
) {
12.
var
evt = e || window.event;
13.
var
key = evt.charCode || evt.keyCode || 0;
14.
15.
16.
var
isClipboard =
false
;
17.
var
ctrlDown = evt.ctrlKey || evt.metaKey;
18.
19.
20.
if
(ctrlDown && evt.altKey) isClipboard =
false
;
21.
22.
else
if
(ctrlDown && key == 67) isClipboard =
true
;
23.
else
if
(ctrlDown && key == 86) isClipboard =
true
;
24.
else
if
(ctrlDown && key == 88) isClipboard =
true
;
25.
26.
27.
28.
29.
var
isNumeric = ((key == 8) || (key == 9) || (key == 13) || (key == 46)
30.
|| (key == 116) || (key == 123) || (key == 189) || (key == 190)
31.
|| ((key >= 35) && (key <= 40)) || ((key >= 48) && (key <= 57))
32.
|| ((key >= 96) && (key <= 105)));
33.
34.
if
((!isNumeric && !isClipboard) || e.shiftKey) {
35.
36.
e.stopImmediatePropagation();
37.
e.preventDefault();
38.
}
39.
}
40.
}