Ace: Opsi untuk menonaktifkan editor

Dibuat pada 23 Mei 2011  ·  18Komentar  ·  Sumber: ajaxorg/ace

Mirip dengan atribut 'dinonaktifkan' dari sebuah textarea.

itu akan mirip dengan mode readOnly, hanya saja tidak ada interaksi pengguna yang diizinkan dengan editor. Jadi, kursor dan penanda garis apa pun akan disembunyikan.
@gissues :{"order":73.29192546583863,"status":"backlog"}

Komentar yang paling membantu

Ah, aku mengerti sekarang.
Tetapi seberapa banyak fungsionalitas editor yang harus dinonaktifkan tergantung pada kasus penggunaan yang tepat.
Saya pikir pemilihan dan kemampuan untuk memfokuskan editor tidak boleh dinonaktifkan dalam kedua kasus tersebut. Area pandang virtual akan berguna untuk menampilkan output, tetapi pemilihan browser tidak dapat bekerja dengannya. Dan untuk contoh kode, biasanya menyenangkan dapat melakukannya ctrl+a ctrl+c .

Untuk menyembunyikan kursor dan sorotan garis

editor.setOptions({
    readOnly: true,
    highlightActiveLine: false,
    highlightGutterLine: false
})
editor.renderer.$cursorLayer.element.style.opacity=0

untuk membuat editor non tabbable

editor.textInput.getElement().tabIndex=-1
 or
editor.textInput.getElement().disabled=true

untuk menonaktifkan semua pintasan

editor.commands.commmandKeyBinding={}

saya juga dapat menambahkan metode penghancuran untuk $mouseHandler dan textInput untuk menonaktifkannya sama sekali

Semua 18 komentar

Apakah ini sudah diterapkan di mana saja? Saya juga akan menemukan fitur ini sangat berguna.

Apa kegunaan untuk ini? Saya tidak ingin menambahkan ini ke inti karena jarang digunakan dan mudah diterapkan

Sesuatu seperti

editor.container.style.pointerEvents="none"
editor.container.style.opacity=0.5 // or use svg filter to make it gray
editor.renderer.setStyle("disabled", true)
editor.blur()

atau ini

var cover = document.createElement("div")
editor.container.appendChild(cover)
cover.style.cssText = "position:absolute;\
top:0;bottom:0;right:0;left:0;\
background:rgba(150,150,150,0.5);\
z-index:100"
cover.addEventListener("mousedown", function(e){e.stopPropagation()}, true)

akan bekerja.

Tujuannya bukan untuk membuatnya terlihat cacat secara visual, tujuannya adalah untuk menghilangkan kemampuan pengguna untuk berinteraksi dengannya. Yaitu mereka tidak dapat mengontrol kursor, (bahkan lebih baik, kursor tidak ada).
Ini hanya jenis read-only yang lebih ketat daripada "dinonaktifkan". Ini akan berguna saat menggunakan editor untuk menampilkan contoh kode, atau keluaran dari program yang sedang berjalan di halaman web. Meskipun ini mungkin bukan penggunaan yang ideal untuk editor, fitur-fiturnya seperti penyorotan sintaksis dan umumnya terlihat bagus menjadikannya pilihan yang menarik untuk digunakan untuk hal-hal seperti ini.

Kedua sampel kode tidak benar-benar mencapai ini. Tak satu pun dari mereka menghapus kursor, dan sementara mereka melakukan pekerjaan yang cukup baik untuk tidak membiarkan pengguna mengontrol kursor, fokus dapat di-tab ke editor.

Ah, aku mengerti sekarang.
Tetapi seberapa banyak fungsionalitas editor yang harus dinonaktifkan tergantung pada kasus penggunaan yang tepat.
Saya pikir pemilihan dan kemampuan untuk memfokuskan editor tidak boleh dinonaktifkan dalam kedua kasus tersebut. Area pandang virtual akan berguna untuk menampilkan output, tetapi pemilihan browser tidak dapat bekerja dengannya. Dan untuk contoh kode, biasanya menyenangkan dapat melakukannya ctrl+a ctrl+c .

Untuk menyembunyikan kursor dan sorotan garis

editor.setOptions({
    readOnly: true,
    highlightActiveLine: false,
    highlightGutterLine: false
})
editor.renderer.$cursorLayer.element.style.opacity=0

untuk membuat editor non tabbable

editor.textInput.getElement().tabIndex=-1
 or
editor.textInput.getElement().disabled=true

untuk menonaktifkan semua pintasan

editor.commands.commmandKeyBinding={}

saya juga dapat menambahkan metode penghancuran untuk $mouseHandler dan textInput untuk menonaktifkannya sama sekali

Luar biasa, itulah efek yang saya kejar. Saya setuju tentang persyaratan yang berbeda berdasarkan kasus penggunaan yang tepat, tetapi mungkin berguna untuk memiliki beberapa opsi untuk menonaktifkan hal-hal seperti kursor, atau pintasan, dll.

Juga, baris kode terakhir di atas tampaknya menghentikan editor menampilkan apa pun. :/

Juga, baris kode terakhir di atas tampaknya menghentikan editor menampilkan apa pun. :/

maksudnya editor.commands.commmandKeyBinding={} ? itu akan sangat aneh

Terima kasih untuk ini!

Terima kasih, pasti membutuhkan opsi untuk menonaktifkan editor!

Hai, apakah Anda mengimplementasikan perusak $mouseHandler? Saya sedikit tersesat (newbie di sini). Atau adakah cara untuk menonaktifkannya? Terima kasih telah menonaktifkan editor btw :-)

@nightwing
editor.renderer.$cursorLayer.element.style.opacity=0
Tampaknya $cursorLayer bukan atribut VirtualRenderer sekarang.
Saya ingin menyembunyikan kursor ketika editor saya dalam status 'readOnly', dan saya mencoba metode yang Anda berikan, tetapi tidak berhasil karena $cursorLayer bukan atribut VirtualRenderer; Apakah ada cara lain untuk menyembunyikan kursor?

Saya menemukan ada dua metode di VirtualRenderer, hideCursor() dan setCursorStyle(), dan saya mencoba menggunakannya dengan cara di bawah ini. Tapi itu tidak berfungsi juga.
this._editor.renderer.hideCursor();
this._editor.renderer.setCursorStyle("opacity: 0;");
Apakah saya salah dalam menggunakan?

Apakah sedang dalam proses? Saya ingin menonaktifkan editor ketika fokus keluar dari itu.

Sama disini! Saya ingin menggunakan metode renderer.hideCursor() tetapi sepertinya tidak berhasil. Saya mencoba memanggilnya di blok init editor saya dan di acara changeCursor tetapi saya tidak dapat membuatnya berfungsi.

untuk orang yang masih ingin menonaktifkan kursor, gunakan properti css3 pointer-events: none; pada elemen editor.

Bagaimana cara menonaktifkan editor, masih hanya pengembang reaksi baru? Harap akan sangat menghargai bantuan apa pun

untuk orang yang masih ingin menonaktifkan kursor, gunakan properti css3 pointer-events: none; pada elemen editor.

Bagaimana Anda menonaktifkan editor?

untuk orang yang masih ingin menonaktifkan kursor, gunakan properti css3 pointer-events: none; pada elemen editor.

Bagaimana Anda menonaktifkan editor?

editor.setOptions({
    readOnly: true,
})

Bekerja seperti pesona

Pada Rab, Sep 23, 2020, 22:27 Nehal Hasnayeen [email protected]
menulis:

untuk orang yang masih ingin menonaktifkan kursor, gunakan acara pointer properti css3:
tidak ada; pada elemen editor.

Bagaimana Anda menonaktifkan editor?

editor.setOptions({
readOnly: benar,
})


Anda menerima ini karena Anda berkomentar.
Balas email ini secara langsung, lihat di GitHub
https://github.com/ajaxorg/ace/issues/266#issuecomment-698073286 , atau
berhenti berlangganan
https://github.com/notifications/unsubscribe-auth/ALIR2LMEV5BHDXPXO7RT5BTSHKVAPANCNFSM4AESJK3A
.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat