Vue: @keydown.tab์€ shift + tab๋„ ์บก์ฒ˜ํ•ฉ๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2017๋…„ 03์›” 06์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: vuejs/vue

@keydown.tab์€ shift + tab๋„ ์บก์ฒ˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์˜ˆ์ƒ๋œ ํ–‰๋™์ž…๋‹ˆ๊นŒ? ๋ฒ„๊ทธ๋ผ๋ฉด ๋ฐ˜์„ฑํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์ด๊ฒƒ์„ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์œ„ํ•ด 2.5.0 vue์—๋Š” .exact ์ˆ˜์ •์ž๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ์ •ํ™•ํžˆ ์ด ๋™์ž‘์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

@keydown.tab.exact="dostuff()"

์ด๊ฒƒ์€ shift + tab์„ ๋ˆŒ๋ €์„ ๋•Œ๊ฐ€ ์•„๋‹ˆ๋ผ tab์„ ๋ˆŒ๋ €์„ ๋•Œ๋งŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ https://vuejs.org/v2/guide/events.html#exact -Modifier๋ฅผ ์ฐธ์กฐ

๋ชจ๋“  3 ๋Œ“๊ธ€

์˜ˆ, ์˜ˆ์ƒ๋ฉ๋‹ˆ๋‹ค. shift๋ฅผ ๋ˆ„๋ฅด์ง€ ์•Š์•˜๋Š”์ง€ ๋ช…์‹œ์ ์œผ๋กœ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์†”๋ฃจ์…˜ ๋งˆํฌ์—…์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

<your-element @keydown.tab="handleTabPress(someData, $event)"></your-element>

ํ•ธ๋“ค๋Ÿฌ ํ•จ์ˆ˜ ๋‚ด์—์„œ $event ๋ฅผ ๊ฒ€์‚ฌํ•˜์—ฌ SHIFT ๊ฐ€ ์œ ์ง€๋˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๊ฐ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

handleTabPress(someData, e) {
    // if SHIFT key is held to navigate backwards, exit through this gate
    if (e.shiftKey) {
        console.log('halting event due to SHIFT+TAB');
        return;
    }

    // otherwise, execute normal logic
    console.log('tab was pressed', someData);
},

์ด๊ฒƒ์„ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์œ„ํ•ด 2.5.0 vue์—๋Š” .exact ์ˆ˜์ •์ž๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ์ •ํ™•ํžˆ ์ด ๋™์ž‘์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

@keydown.tab.exact="dostuff()"

์ด๊ฒƒ์€ shift + tab์„ ๋ˆŒ๋ €์„ ๋•Œ๊ฐ€ ์•„๋‹ˆ๋ผ tab์„ ๋ˆŒ๋ €์„ ๋•Œ๋งŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ https://vuejs.org/v2/guide/events.html#exact -Modifier๋ฅผ ์ฐธ์กฐ

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰