텍스트 입력 상자 밖으로 이동하는 키보드 단축키 (즉, 입력 초점을 제거하기 위해)


1

마우스 오른쪽 버튼을 누를 때 autohotkey를 사용하여 Ctrl + 홈 콤보를 수행합니다. 결과는 웹 페이지의 맨 위로 이동합니다. 그러나이 경우 ctrl + home은 커서를 입력 상자의 시작 부분으로 가져 가기 때문에 커서가 텍스트 입력 상자 안에 있으면 고장이 발생합니다.

커서가 단순히 다른 입력 상자로 이동할 수 있기 때문에 ctrl + home 이전에 탭을 수행하는 것이 때때로 작동 할 수도 있지만 항상 그런 것은 아닙니다. alt를 누르면 입력 상자에서 커서가 제거되지만 나중에 ctrl + home이 작동하지 않습니다.

내 목표는 웹 페이지의 상단으로 안정적으로 이동할 수 있도록하는 것입니다.

현재 내 스크립트는 다음과 같습니다

MButton::
SendInput ^{home}
return
;

항상 실험중인 코드를 제공하십시오.
vasili111

코드를 편집했지만 코드가 필요하다고 생각하지는 않았지만 키보드로 코드를 작성하지 않고도 달성 할 수 있어야하기 때문에 코드가 필요하지 않다고 생각했습니다.
Ikram Hawramani

CTRL + Home 이전에 스크립트에 추가 단축키를 통합 할 수 있습니까? CTRL + F를 먼저 입력 한 다음 Hit Escape를 누른 다음 CTRL + Home을 누르면 매번 작동합니다. Firefox에서 이것을 테스트했습니다.
mnmnc

바로 가기에서 Javascript를 실행하는 방법이 있습니까? 그런 다음 "document.activeElement.blur ();"을 쉽게 실행할 수 있습니다.
Marcelo

@mnmnc : autohotkey는 없지만 Firefox 31.0 에서 (Ctrl + F), (Esc), (Ctrl + Home) 제안을 시도 하면 바로이 페이지 (예 : Super User)에서 커서가 유지됩니다. 텍스트 입력 상자.
Scott

답변:


1

@Marcelo는 JavaScript 사용에 대한 아이디어를주었습니다. 이전에 나는 이것을 생각했지만 핫키와 관련이없는 것처럼 보였습니다. 그런 다음 JavaScript : pseudo-protocol을 기억하고 안정적으로 작동하는 다음 코드를 생각해 냈습니다.

MButton::
SendInput ^{l}
Sleep 1
SendInput {Raw}javascript:document.activeElement.blur();
Sleep 1
SendInput {Enter}
Sleep 1
SendInput ^{home}
return
;

코드는 먼저 CTRL + l을 사용하여 주소 표시 줄로 이동하고 거기에 JavaScript를 입력합니다 (Chrome은 자바 스크립트를 붙여 넣을 수 없습니다 : 주소 표시 줄에 원시 입력으로 수행되어야 함). 코드를 실행하려면 Enter 키를 누르십시오.이 경우 간단한 Ctrl + Home이 맨 위로 이동합니다.

키 콤보 후에 Sleep 명령이 필요합니다. 그렇지 않으면 입력이 깨질 수 있습니다.

이것은 안정적으로 작동하고 (내 질문에 대답합니다) 스크립트 입력에 문제가 있으면 브라우저가 코드를 검색 쿼리로 해석하여 페이지 내용이 손실 될 수 있으므로 느리고 약간 무섭습니다.

대신 상당한 수의 키를 눌러도 @crazypotato의 page-up 사용 아이디어를 사용하려고합니다.

MButton::
SendInput {PgUp 5}
return
;

내가 다루는 페이지 (처음 에이 솔루션을 필요로 했음)가 모두 같은 높이이므로 내 경우에는 꽤 잘 작동합니다.


0
!MButton:: ; ALT + Middle Mouse Button
SendInput {PgUp 200} ;press Page-up key 200 times

몇 가지 더 hackish (권장되지 않음) 솔루션 :

!MButton:: ; ALT + Middle Mouse Button
SendInput {F5} ;easy reload page for remove focus but its save current scroll
Sleep, 1000 ; wait for page loading
SendInput {HOME} ;go home

ALT + 마우스 가운데 버튼을 누르기 전에 페이지의 빈 공간으로 커서를 이동해야합니다.

!MButton:: ; ALT + Middle Mouse Button
MouseClick,left ; click on empty space on page with current mouse coord
SendInput {HOME} ;go home u drunk

최신 정보:

입력 필드에 초점을 맞춘 경우에도 맨 위로 페이지의 키를 찾았지만 일부 브라우저에서만 작동합니다 (Firefox에서는 작동하지 않음). Ctrl+ Alt+Home

MButton::
SendInput ^!{HOME}

1
그러나 사용자가 텍스트 입력 상자에 무언가를 입력하면 (F5) 솔루션이 입력을 버릴 위험이 있습니다.
Scott

그렇기 때문에 해킹이 발생합니다. 세 가지 솔루션 모두 실패 할 수 있지만 첫 번째 솔루션은 끔찍하게 실패 할 수 없습니다. 일반적으로 브라우저 용 확장 설치가 더 좋습니다. Firefox 확장 . 크롬 확장 프로그램 .
crazypotato

@crazypotato 나는 질문에 정확히 답하지는 않지만 (초점 상실 없음) 페이지 업 솔루션을 사용했습니다. 감사!
Ikram Hawramani
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.