我正在尝试使用Vue.j的keyup
在v-on
事件上配置keyCodes
我阅读了文档,发现Vue.config.keyCodes = {}
是静态方法,用户可以将自定义名称设置为keyCodes。
下面是没有camelCase的JSFiddle,它运行良好。
的 Link : without camelCase config
下面是带有camelCase的JSFiddle,它不起作用。
的 Link : with camelCase config
在Vue.js文档中有使用camelCase的示例 我认为camelCase也应该工作。为什么它不起作用?
我想在输入Alert
+ cmd
时输入enter
。
我尝试了@keyup.91.13
,@keyup.91&&13
或keyCode配置,如
Vue.config.keyCodes = {
hit: 91&&13
}
但它不起作用。我怎样才能正常工作?
答案 0 :(得分:1)
我相信这只是设计。我认为.call-alert
可能会起作用,但事实并非如此。我认为修饰符仅限于所有小写字符。
由于command
是一个修饰键,你可以这样做:
@keyup.ctrl.enter="dance"
您可以在此处找到更多详细信息: https://vuejs.org/v2/guide/events.html#Modifier-Keys
答案 1 :(得分:1)
最好使用“.meta”因为“keyup = 91”不适用于Opera(其“keyup = 219”而不是91)。
@keyup.meta.enter="yourMethod"
(但我不知道为什么这对我在Ubuntu上不起作用)
注意:在Macintosh键盘上,meta是命令键(⌘)。在Windows上 键盘,meta是windows键(⊞)。在Sun Microsystems键盘上, meta标记为实心菱形(◆)。在某些键盘上, 特别是MIT和Lisp机器键盘和后继者,如 骑士键盘,太空军校学生键盘,元标有“META”。上 Symbolics键盘,meta标记为“META”或“Meta”。
答案 2 :(得分:0)
作为Vue文档,您应该使用带双引号的kebab-case。 https://vuejs.org/v2/api/#keyCodes
Vue.config.keyCodes = {
v: 86,
f1: 112,
// camelCase won`t work
mediaPlayPause: 179,
// instead you can use kebab-case with double quotation marks
"media-play-pause": 179,
up: [38, 87]
}