Chevereto 更改图像预览快捷键

在查看图像预览的时候,关闭图片的快捷键是 “X” ,而我们想使用 “Esc” 键代替它,

作者 Rodolfo 给出的方案是:

  • 可在第 #L2709 88: 'close' 修改为 27: 'close'

//原代码
    keys: {
        83: 'select',
        76: 'like',
        70: 'flag',
        69: 'edit',
        65: 'move',
        46: 'delete',
        88: 'close', //<--- 此处需要修改 (88=>27)
        37: 'prev',
        39: 'next',
    },
        
//修改后
    keys: {
        83: 'select',
        76: 'like',
        70: 'flag',
        69: 'edit',
        65: 'move',
        46: 'delete',
        27: 'close',
        37: 'prev',
        39: 'next',
    },        

  • 在第 #L2596 处,将 var direct = [88, 37, 39]; 修改成 var direct = [27, 37, 39];

//原代码
$(document).on("keyup", function (e) {
        if (
            $(PF.obj.modal.selectors.root).exists() ||
            !($(".viewer").exists() && e.which in CHV.fn.listingViewer.keys)
        ) {
            return;
        }
        var direct = [88, 37, 39]; // X <- -> //<--- 此处需要修改 (88=>27)
        var action = CHV.fn.listingViewer.keys[e.which];
        if (direct.indexOf(e.which) == -1) {
            $(
                "[data-action=" + action + "]",
                CHV.fn.listingViewer.selectors.root
            ).click();
        } else {
            if (action in CHV.fn.listingViewer) {
                CHV.fn.listingViewer[action]();
            }
        }
    }

//修改后

$(document).on("keyup", function (e) {
        if (
            $(PF.obj.modal.selectors.root).exists() ||
            !($(".viewer").exists() && e.which in CHV.fn.listingViewer.keys)
        ) {
            return;
        }
        var direct = [27, 37, 39]; // X <- ->
        var action = CHV.fn.listingViewer.keys[e.which];
        if (direct.indexOf(e.which) == -1) {
            $(
                "[data-action=" + action + "]",
                CHV.fn.listingViewer.selectors.root
            ).click();
        } else {
            if (action in CHV.fn.listingViewer) {
                CHV.fn.listingViewer[action]();
            }
        }
    }

对应键代码详细如下表

In every browser there are three possible kinds of client-side events triggered when a keyboard key is pressed or released:

  1. keydown event
  2. keypress event
  3. keyup event

The keydown event occurs when the keyboard key is pressed, and it is followed at once by the execution of keypress event.
The keyup event is generated when the key is released.

Here is a sample program using the keycodes You can view it's source to the the actual coding

Keyboard key Pressed JavaScript Key Code value
backspace 8
tab 9
enter 13
shift 16
ctrl 17
alt 18
pause/break 19
caps lock 20
escape 27
page up 33
Space 32
page down 34
end 35
home 36
arrow left 37
arrow up 38
arrow right 39
arrow down 40
print screen 44
insert 45
delete 46
0 48
1 49
2 50
3 51
4 52
5 53
6 54
7 55
8 56
9 57
a 65
b 66
c 67
d 68
e 69
f 70
g 71
h 72
i 73
j 74
k 75
l 76
m 77
n 78
o 79
p 80
q 81
r 82
s 83
t 84
u 85
v 86
w 87
x 88
y 89
z 90
left window key 91
right window key 92
select key 93
numpad 0 96
numpad 1 97
numpad 2 98
numpad 3 99
numpad 4 100
numpad 5 101
numpad 6 102
numpad 7 103
numpad 8 104
numpad 9 105
multiply 106
add 107
subtract 109
decimal point 110
divide 111
f1 112
f2 113
f3 114
f4 115
f5 116
f6 117
f7 118
f8 119
f9 120
f10 121
f11 122
f12 123
num lock 144
scroll lock 145
My Computer (multimedia keyboard) 182
My Calculator (multimedia keyboard) 183
semi-colon 186
equal sign 187
comma 188
dash 189
period 190
forward slash 191
open bracket 219
back slash 220
close braket 221
single quote 222

来源:http://gcctech.org/csc/javascript/javascript_keycodes.htm

松鼠大大

若不是真的废物,谁又愿意混吃等死呢?

相关推荐

6 条评论

  1. 然后水了一整页的键位表 ::funny:04::

  2. yml

    1.4 修改后会出错 白屏或黑屏

    • @yml 看了下,最新的是需要修改两处键代码值的,我在3.20测试可以用,白屏或者黑屏,是否为你修改js文件时出现了问题?

  3. yml

    试过两次了 但是都只改了一处的值,两次修改后均不正常 尝试修改两个值,看看会不会正常

    • yml

      @yml 修改两处也是白屏 别的没动

回复 yml 取消回复

您的电子邮件地址不会被公开,必填项已用*标注。