https://jsfiddle.net/wangmin/rdjjpc7a/1628/
في هذا العرض التوضيحي , عند النقر فوق إدخال
لقد استخدمت e.stopPropagation () و e.preventDefault ()
لكنها لا تعمل
سوف يغير خط جديد
لا اريد ذلك
كيفية تجنب ...
شكرا لك
هناك عدة أمور خاطئة في مثالك:
بدلاً من @keyup.onEnter="update"
، عليك الاتصال بـ @keyup.enter="onEnter"
، لأن اسم طريقتك هو onEnter
، وليس update
، واسم المُعدِّل هو enter
، وليس onEnter
.
ثانيًا: يتم وضع السطر الجديد في منطقة النص على keydown
، وليس على keyup
، لذا يجب أن يكون الكود الكامل:
<div id="editor">
<textarea :value="input" @keydown.enter="onEnter"></textarea>
</div>
هنا كمان محدث: https://jsfiddle.net/tedt89kv/
أيضًا ، ضع في اعتبارك أنه يجوز للمستخدمين نسخ النص ولصقه مع الأسطر الجديدة في المستند. ربما يكون مراقب أكثر ما تريد. في المراقب ، يمكنك إزالة جميع الأسطر الجديدة عند كل تغيير في قيمة منطقة النص.
أيضًا ، من نموذج المشكلة الذي أزلته لنشر سؤالك:
قائمة المشكلات الخاصة بهذا الريبو مخصصة حصريًا لتقارير الأخطاء وطلبات الميزات. للأسئلة البسيطة ، يرجى استخدام الموارد التالية:
- اقرأ المستندات: https://vuejs.org/guide/
- شاهد دروس الفيديو: https://laracasts.com/series/learning-vue-step-by-step
- اسأل في غرفة دردشة Gitter: https://gitter.im/vuejs/vue
- اسأل في المنتديات: http://forum.vuejs.org/
- ابحث عن / اطرح أسئلة حول تجاوز سعة المكدس: https://stackoverflow.com/questions/ask؟
شكرا لك ... سأفكر أكثر في المرة القادمة
التعليق الأكثر فائدة
هناك عدة أمور خاطئة في مثالك:
بدلاً من
@keyup.onEnter="update"
، عليك الاتصال بـ@keyup.enter="onEnter"
، لأن اسم طريقتك هوonEnter
، وليسupdate
، واسم المُعدِّل هوenter
، وليسonEnter
.ثانيًا: يتم وضع السطر الجديد في منطقة النص على
keydown
، وليس علىkeyup
، لذا يجب أن يكون الكود الكامل:هنا كمان محدث: https://jsfiddle.net/tedt89kv/
أيضًا ، ضع في اعتبارك أنه يجوز للمستخدمين نسخ النص ولصقه مع الأسطر الجديدة في المستند. ربما يكون مراقب أكثر ما تريد. في المراقب ، يمكنك إزالة جميع الأسطر الجديدة عند كل تغيير في قيمة منطقة النص.