Ace: エディターを無効にするオプション

作成日 2011年05月23日  ·  18コメント  ·  ソース: ajaxorg/ace

textareaの「disabled」属性に似ています。

これはreadOnlyモードに似ており、エディターでのユーザー操作のみが許可されません。 そのため、カーソルとラインマーカーは非表示になります。
@gissues :{"order":73.29192546583863、 "status": "backlog"}

最も参考になるコメント

ああ、なるほど。
ただし、エディター機能のどれだけを無効にする必要があるかは、正確なユースケースによって異なります。
どちらの場合も、選択とエディターのフォーカス機能を無効にすべきではないと思います。 仮想ビューポートは出力を表示するのに役立ちますが、ブラウザの選択はそれでは機能しません。 また、コード例の場合、通常、 ctrl+a ctrl+cを実行できると便利です。

カーソルと行のハイライトを非表示にするには

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

エディターをタブ不可にする

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

すべてのショートカットを無効にするには

editor.commands.commmandKeyBinding={}

また、$ mouseHandlerとtextInputのdestroyメソッドを追加して、それらを完全に無効にすることもできます

全てのコメント18件

これはどこかに実装されていますか? また、この機能は非常に便利だと思います。

これのユースケースは何ですか? これはめったに使用されず、実装も簡単なので、コアに追加したくありません。

何かのようなもの

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()

またはこれ

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)

動作します。

目的は、視覚的に無効に見えるようにすることではなく、ユーザーが操作する機能を削除することです。 つまり、カーソルを制御することはできません(さらに良いことに、カーソルは存在しません)。
これは、「無効」ではなく、より厳密なタイプの読み取り専用です。 これは、エディターを使用してコードサンプルを表示したり、Webページで実行中のプログラムから出力したりする場合に便利です。 これはエディターの理想的な使用法ではないかもしれませんが、構文の強調表示や一般的に見栄えの良い機能などの機能により、このような用途に使用するのに魅力的なオプションになります。

コードの両方のサンプルは、実際にはこれを達成していません。 どちらもカーソルを削除することはなく、ユーザーがカーソルを制御できないようにするという非常に優れた機能を果たしますが、フォーカスをエディターにタブで移動できます。

ああ、なるほど。
ただし、エディター機能のどれだけを無効にする必要があるかは、正確なユースケースによって異なります。
どちらの場合も、選択とエディターのフォーカス機能を無効にすべきではないと思います。 仮想ビューポートは出力を表示するのに役立ちますが、ブラウザの選択はそれでは機能しません。 また、コード例の場合、通常、 ctrl+a ctrl+cを実行できると便利です。

カーソルと行のハイライトを非表示にするには

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

エディターをタブ不可にする

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

すべてのショートカットを無効にするには

editor.commands.commmandKeyBinding={}

また、$ mouseHandlerとtextInputのdestroyメソッドを追加して、それらを完全に無効にすることもできます

素晴らしい、それは私が求めていた効果があります。 正確なユースケースに基づいて要件が異なることに同意しますが、カーソルやショートカットなどを無効にするためのいくつかのオプションがあると便利な場合があります。

また、上記のコードの最後の行は、エディターが何も表示しないように見えます。 :/

また、上記のコードの最後の行は、エディターが何も表示しないように見えます。 :/

editor.commands.commmandKeyBinding={}ことですか? それは非常に奇妙だろう

これをありがとう!

ありがとう、間違いなくエディターを無効にするオプションが必要です!

こんにちは、$ mouseHandler駆逐艦を実装しましたか? 私は少し迷っています(ここでは初心者です)。 または、それを無効にする方法はありますか? 編集者がところで無効にしてくれてありがとう:-)

@nightwing
editor.renderer。$ cursorLayer.element.style.opacity = 0
現在、$ cursorLayerはVirtualRendererの属性ではないようです。
エディターが「readOnly」状態のときにカーソルを非表示にしたいので、指定したメソッドを試しますが、$ cursorLayerがVirtualRendererの属性ではないため、機能しません。他に方法はありますかカーソルを非表示にしますか?

VirtualRendererにはhideCursor()とsetCursorStyle()の2つのメソッドがあることがわかり、以下のように使用しようとしていますが、うまく機能しません。
this._editor.renderer.hideCursor();
this._editor.renderer.setCursorStyle( "opacity:0;");
私は使用するのが間違っていますか?

仕掛品ですか? フォーカスが外れたときにエディタを無効にしたいのですが。

こっちも一緒! renderer.hideCursor()メソッドを使用したいのですが、機能しないようです。 エディターのinitブロックとchangeCursorイベントで呼び出しようとしましたが、機能させることができません。

それでもカーソルを無効にしたい場合は、editor要素でcss3プロパティpointer-events: none;を使用してください。

エディターを無効にするにはどうすればよいですか?それでも新しいR​​eact開発者だけですか? 助けていただければ幸いです

それでもカーソルを無効にしたい場合は、editor要素でcss3プロパティpointer-events: none;を使用してください。

エディターを無効にするにはどうすればよいですか?

それでもカーソルを無効にしたい場合は、editor要素でcss3プロパティpointer-events: none;を使用してください。

エディターを無効にするにはどうすればよいですか?

editor.setOptions({
    readOnly: true,
})

チャームのように働いた

2020年9月23日水曜日、午後10時27分Nehal [email protected]
書きました:

それでもカーソルを無効にしたい場合は、css3プロパティpointer-eventsを使用します。
無し; エディター要素。

エディターを無効にするにはどうすればよいですか?

editor.setOptions({
readOnly:true、
})


コメントしたのでこれを受け取っています。
このメールに直接返信し、GitHubで表示してください
https://github.com/ajaxorg/ace/issues/266#issuecomment-698073286 、または
登録を解除する
https://github.com/notifications/unsubscribe-auth/ALIR2LMEV5BHDXPXO7RT5BTSHKVAPANCNFSM4AESJK3A

このページは役に立ちましたか?
0 / 5 - 0 評価