생성시`InputField`에 집중 하시겠습니까? [복제]

Aug 17 2020

입력 필드를 다음과 같이 생성한다고 가정 해 보겠습니다.

InputField[]

Enter 키를 누르면 입력 필드가 아래 출력 영역에 나타나지만 노트북의 포커스는 새 셀을 만들 수있는 다음 줄로 바로 이동합니다. 를 만들고 InputField즉시 선택하여 (클릭 할 필요없이) 초점을 맞출 수있는 방법이 InputField있습니까? 그러면 텍스트를 ?

답변

4 kglr Aug 18 2020 at 05:22

을 사용하여 입력 필드에 상자 ID를 할당 BoxID -> "id"하고 함수 FrontEnd`MoveCursorToInputField를 사용 하여 원하는 입력 필드로 포커스를 이동할 수 있습니다.

InputField[Null, BoxID -> "id"]
FrontEnd`MoveCursorToInputField[EvaluationNotebook[], "id"];

다른 예시:

Grid[{{InputField[Dynamic[x]], InputField[Dynamic[y], BoxID -> "ify"],
    InputField[Dynamic[z]]}}]
FrontEnd`MoveCursorToInputField[EvaluationNotebook[], "ify"]; 

또는 셀 내용을 강조 표시하고 Ctrl+ Shift+ Enter를 사용 하여 제자리에서 평가합니다.