๐ŸŸกJS, React

# iframe ๋ถ€๋ชจ์— focus ์˜ฎ๊ธฐ๊ธฐ (๋ชจ๋‹ฌ์ฐฝ ESC ์•ˆ๋‹ซํž˜)

๋ญ‰์ง€๋ง˜ 2025. 4. 1. 09:16
if(code == 27){
 $().removeClass();
}

๋ฅผ ์ ์šฉํ•˜๋ ค๊ณ  ํ•˜๋‹ˆ

 

iframe์—์„œ ๋ชจ๋‹ฌ์ฐฝ์„ ๋ถ€๋ชจ๋กœ ๋„์› ์„ ๋•Œ ESC๋ฅผ ๋ˆŒ๋Ÿฌ๋„ ์‚ฌ๋ผ์ง€์ง€ ์•Š๊ณ ,

ํ•œ๋ฒˆ ์•„๋ฌด๊ณณ์ด๋‚˜ ํด๋ฆญํ•˜๋ฉด ์‚ฌ๋ผ์ง€๋Š” ๋ฒ„๊ทธ๊ฐ€ ์žˆ์—ˆ๋‹ค.

 

๊ณฐ๊ณฐํžˆ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ iframe๊ณผ ๋ถ€๋ชจ๊ฐ„์˜ ๋ฌธ์ œ๋ผ๊ณ  ์ƒ๊ฐ๋˜์„œ gptํ•œํ…Œ ๋ฌผ์–ด๋ดค๋”๋‹ˆ

์—ญ์‹œ๋‚˜ focus๊ฐ€ ์–ด๋””์— ๋˜์–ด์žˆ๋Š”์ง€์˜ ๋ฌธ์ œ์˜€๋‹ค.

 

๊ทธ๋ž˜์„œ iframe์ด ๋ถˆ๋Ÿฌ์˜ค๋Š” ํ•จ์ˆ˜ ๊ฐ€์žฅ ์•„๋žซ๋ถ€๋ถ„์—

setTimeout(function () {
	window.focus();
	document.activeElement?.blur();
}, 50);

 

๋ฅผ ์ถ”๊ฐ€ํ•ด ๋ถ€๋ชจ์ฐฝ์œผ๋กœ focus๋ฅผ ๋ฐ”๊ฟ”์ฃผ๋‹ˆ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ–ˆ๋‹ค. ๐Ÿ˜