Tetapkan Nilai untuk editor ace tanpa memilih seluruh editor


92

Jadi Anda dapat mengatur nilai editor ace dengan setValuetetapi setelah mengatur nilainya, editor akan memilih seluruh nilai editor. Bagaimana Anda menonaktifkan ini? Ini berarti ketika saya menetapkan nilai editor ace ke Hello world, itu tidak akan disorotHello world

Jawaban:


165

Anda dapat menggunakan parameter kedua untuk mengontrol posisi kursor setelah setValue

editor.setValue(str, -1) // moves cursor to the start
editor.setValue(str, 1) // moves cursor to the end

17

Anda bahkan bisa menggunakan clearSelection () setelah Anda melakukan setValue ();

editor.setValue("Hello World");
editor.clearSelection(); // This will remove the highlight over the text

10

Ini berhasil untuk saya!

editor.setValue(editor.getValue(), 1);

0

Saya mengalami masalah yang sama dengan Anda.

Meskipun Anda dapat mengatur parameter kedua menjadi 1 atau -1 , saya rasa Anda juga harus memeriksa ini: https://ace.c9.io/api/editor.html#Editor.setValue

Editor.setWrapBehavioursEnabled(Boolean enabled)

Gunakan ini tepat setelah membuat editor.

Ini bekerja dengan sangat baik untuk saya. Perbedaan antara metode ini dan metode yang dibagikan oleh pengguna adalah bahwa posisi tanda sisipan tidak berubah, Anda dapat memindahkannya sendiri menggunakan Editor.selection.moveTo(row, column), dengan cara ini pengguna tidak akan mengalami perubahan posisi tanda sisipan yang aneh saat menggunakan, katakanlah, CTRL + Z untuk membatalkan sebuah aksi :)


1
Jawaban ini tidak jelas, apakah maksud Anda menelepon Editor.setWrapBehavioursEnabled(Boolean enabled)dengan beberapa nilai setelah editor diinisialisasi akan mencegah semua teks dipilih saat memanggil editor.setValue?
Macario

0
 var prevtext = $("#editor").val();
 prevtext = prevtext + "<br/>";
 $("#editor").val(prevtext).blur();
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.