作成時に `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場所で評価します: