سؤال

وأنا أكتب صافي مراقبة أشكال لتحرير HTML باستخدام MSHTML. أنا خلق بعض العناصر المخصصة وتريد جعلها للقراءة فقط على نحو فعال. اعتقدت أنني يمكن أن تذهب نحو هذا من خلال التركيز على العنصر بالكامل دخل أي وقت وفي أي مكان التركيز في هذا العنصر ولكن HtmlElement.Focus () لا تقم بتحديد العنصر بالكامل وأنا لا يبدو أن تكون قادرة على التقاط دخول المؤشر .

وثمة خيار آخر يتمثل في رفع حدث كلما يتم تغيير نص العنصر (على KeyDown أتوقع) ولكن لا أستطيع الحصول على هذا الحدث لاطلاق النار، إما. أي أفكار حول لماذا توقعاتي حول سلوك الحدث هو اقتراحات خاطئة أو بديلة للتنفيذ؟

هل كانت مفيدة؟

المحلول

ولقد وجدت أن تعيين السمة:

contentEditable=false

وأسفرت السلوك المطلوب.

نصائح أخرى

في حال كنت تحاول تطبيق السلوك للقراءة فقط إلى عنصر تحكم المستخدم الإدخال، يمكنك محاولة استخدام السمةreadonly من تلك السيطرة. وإلا هل يمكن أيضا إضافة المستمعين الحدث لأحداث المناسبة UI (KeyDown و mousedown) ومنع السلوك الافتراضية الخاصة بهم (عودة كاذبة، أو event.returnValue = كاذبة). أما بالنسبة للأحداث مخصصة إيفاد، يمكنك القيام به في الواقع ذلك. استخدام اسم الحدث الذي يعرف إلى IE. وتلميح آخر يمكن أن يكون: تسجيل معالج حدث عند_التغيير وتعود قيمة التحكم إلى قيمة القيمة_الافتراضية (ممتلكات أي ضوابط المدخلات)

وأمل بعض الأفكار سوف يساعد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top