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

Pixeladed
sumber

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
pengguna
sumber
17

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

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

Ini berhasil untuk saya!

editor.setValue(editor.getValue(), 1);
sirkuit
sumber
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 :)

Razvan Tanase
sumber
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();
Harikesh Yadav
sumber