Ace: خيار لتعطيل المحرر

تم إنشاؤها على ٢٣ مايو ٢٠١١  ·  18تعليقات  ·  مصدر: ajaxorg/ace

على غرار السمة "معطل" في منطقة نصية.

سيكون مشابهًا لوضع 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 لتعطيلهم تمامًا

ال 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)

سيعمل.

الهدف ليس جعله يبدو معطلًا بصريًا ، الهدف هو إزالة قدرة المستخدم على التفاعل معه. أي أنهم لا يستطيعون التحكم في المؤشر ، (أفضل من ذلك ، المؤشر غير موجود).
هذا مجرد نوع أكثر صرامة للقراءة فقط بدلاً من "معطل". سيكون هذا مفيدًا عند استخدام المحرر لعرض نماذج التعليمات البرمجية ، أو الإخراج من البرامج قيد التشغيل على صفحة الويب. على الرغم من أن هذا قد لا يكون الاستخدام المثالي للمحرر ، إلا أن ميزاته مثل إبراز بناء الجملة والمظهر الجيد بشكل عام تجعله خيارًا جذابًا لاستخدامه في مثل هذه الأشياء.

كلا نموذجي الكود لا ينجزان هذا حقًا. لا يزيل أي منهما المؤشر ، وبينما يقومان بعمل جيد جدًا بعدم السماح للمستخدم بالتحكم في المؤشر ، يمكن التركيز على المحرر.

آه ، فهمت الآن.
لكن مقدار وظائف المحرر التي يجب تعطيلها يعتمد على حالة الاستخدام الدقيقة.
أعتقد أنه لا ينبغي تعطيل الاختيار والقدرة على التركيز على المحرر في أي من هاتين الحالتين. سيكون منفذ العرض الافتراضي مفيدًا لعرض المخرجات ، ولكن لا يمكن أن يعمل تحديد المتصفح معه. وللحصول على أمثلة التعليمات البرمجية ، من الجيد عادةً أن تكون قادرًا على القيام بـ 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 لتعطيلهم تمامًا

ممتاز ، هذا له الأثر الذي كنت أبحث عنه. أوافق على اختلاف المتطلبات بناءً على حالة الاستخدام المحددة ، ولكن قد يكون من السهل أن يكون لديك عدة خيارات لتعطيل أشياء مثل المؤشرات أو الاختصارات وما إلى ذلك.

أيضًا ، يبدو أن السطر الأخير من الكود أعلاه يمنع المحرر من عرض أي شيء على الإطلاق. : /

أيضًا ، يبدو أن السطر الأخير من الكود أعلاه يمنع المحرر من عرض أي شيء على الإطلاق. : /

تقصد editor.commands.commmandKeyBinding={} ؟ سيكون ذلك غريبًا جدًا

شكرا على هذا!

شكرًا ، بالتأكيد بحاجة إلى خيار لتعطيل المحرر!

مرحبًا ، هل طبقت المدمرة $ mouseHandler؟ أنا ضائع قليلاً (مبتدئ هنا). أم أن هناك طريقة لتعطيله؟ شكرا للمحرر تعطيل راجع للشغل :-)

تضمين التغريدة
editor.renderer. $ cursorLayer.element.style.opacity = 0
يبدو أن $ cursorLayer ليس سمة من سمات VirtualRenderer الآن.
أريد إخفاء المؤشر عندما يكون المحرر الخاص بي في حالة "readOnly" ، وأنا أحاول الطريقة التي قدمتها ، لكنها لا تعمل لأن $ cursorLayer ليس سمة من سمات VirtualRenderer ؛ هل هناك أي طريقة أخرى إخفاء المؤشر؟

لقد وجدت أن هناك طريقتين في VirtualRenderer ، hideCursor () و setCursorStyle () ، وأنا أحاول استخدامها بالطريقة التالية ، لكنها لا تعمل كذلك.
this._editor.renderer.hideCursor () ،
this._editor.renderer.setCursorStyle ("عتامة: 0؛")؛
هل أنا مخطئ في الاستخدام؟

هل هو العمل في التقدم؟ أود تعطيل المحرر عندما يخرج التركيز منه.

نفس الشيء هنا! أرغب في استخدام طريقة renderer.hideCursor () ولكن لا يبدو أنها تعمل. حاولت الاتصال به في مجموعة init المحرر وفي حدث changeCursor لكنني غير قادر على جعله يعمل.

بالنسبة للأشخاص الذين ما زالوا يريدون تعطيل المؤشر ، استخدم خاصية css3 pointer-events: none; على عنصر المحرر.

كيف يمكنني تعطيل المحرر ، ما زلت مجرد مطور رد فعل جديد؟ من فضلك سوف نقدر أي مساعدة

بالنسبة للأشخاص الذين ما زالوا يريدون تعطيل المؤشر ، استخدم خاصية css3 pointer-events: none; على عنصر المحرر.

كيف تقوم بتعطيل المحرر؟

بالنسبة للأشخاص الذين ما زالوا يريدون تعطيل المؤشر ، استخدم خاصية css3 pointer-events: none; على عنصر المحرر.

كيف تقوم بتعطيل المحرر؟

editor.setOptions({
    readOnly: true,
})

عملت مثل السحر

يوم الأربعاء ، 23 سبتمبر ، 2020 ، 10:27 مساءً نهال حسنين [email protected]
كتب:

بالنسبة للأشخاص الذين ما زالوا يريدون تعطيل المؤشر ، استخدم أحداث مؤشر خاصية css3:
لا أحد؛ في عنصر المحرر.

كيف تقوم بتعطيل المحرر؟

editor.setOptions ({
readOly: صحيح ،
})

-
أنت تتلقى هذا لأنك علقت.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/ajaxorg/ace/issues/266#issuecomment-698073286 ، أو
إلغاء الاشتراك
https://github.com/notifications/unsubscribe-auth/ALIR2LMEV5BHDXPXO7RT5BTSHKVAPANCNFSM4AESJK3A
.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات