سؤال

لدي 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;
    }
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top