تقييد إدخال كيبريس حدث في iframe، لا يعمل
-
19-09-2019 - |
سؤال
لدي IFRAME داخل صفحتي وأستخدم DesignMode = "ON" على هذا iFrame لتحرير نص غني بمستوى صغير.
قلقي هو أنني لا أحتاج إلى السماح للمستخدم بإدخال خطوط جديدة فيه - معنى، أريد تقييد المفاتيح إدخال المفاتيح.
فعلت ذلك باستخدام سؤال نشر هنا للاستماع إلى أحداث كيبريس. ولكن في حدث KeyPress الخاص بي، إذا كنت عودة كاذبة, ، لا يحدث شيء.
كيف يمكنني تقييد إدخال المفاتيح في iFrame مع DesignMode؟
شفرة :
document.getElementById('editor').contentWindow.addEventListener('keypress',restrictEnterKey, true);
function restrictEnterKey(event) {
var key=(event.charCode)?event.charCode:((event.keyCode)?event.keyCode:((event.which)?event.which:0));
if (key == 13) {
//alert('me');
return false;
}
return true;
}
المحلول
تحتاج إلى الاتصال preventDefault
في الحدث أو مجموعة returnValue
ل false
ل IE. الدالة التالية ستقوم بالوظيفة:
function preventDefault(evt) {
if (evt.preventDefault) {
evt.preventDefault();
} else if (typeof evt.returnValue !== "undefined") {
evt.returnValue = false;
}
}
لا تنتمي إلى StackOverflow