Fokus pada `InputField` setelah pembuatan? [duplikat]

Aug 17 2020

Katakanlah kita membuat field input sebagai

InputField[]

Setelah menekan enter, bidang masukan muncul di area keluaran di bawah, namun fokus di buku catatan melompat langsung ke baris berikutnya, di mana sel baru dapat dibuat. Adakah cara untuk membuat InputFielddan segera memilihnya menjadi fokus saat pembuatan (tanpa harus mengkliknya), sehingga teks dapat langsung diketik ke dalam InputField?

Jawaban

4 kglr Aug 18 2020 at 05:22

Anda dapat menetapkan id kotak ke bidang masukan menggunakan BoxID -> "id"dan menggunakan fungsi FrontEnd`MoveCursorToInputFielduntuk memindahkan fokus ke bidang masukan yang diinginkan:

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

Contoh lain:

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

Atau, sorot konten sel dan gunakan Ctrl+ Shift+ Enteruntuk mengevaluasi: