سؤال

ولدي معالج بضغطة على صفحة الويب المخصصة لعنصر الجسم. أنا حقا لا تريد أن تكون في أي مكان نشط في صفحة ويب. او كذلك ظننت انا. الأحداث بضغطة في أشكال مدخلات نصية أيضا تفعيل معالج الجسم، الأمر الذي يجعل الشعور، ولكن الذي لا أريد.

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

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

المحلول

وسيكون من الأسهل ببساطة لمعرفة أي عنصر تشغيل الحدث في معالج بضغطة وتصفية عناصر الإدخال:

document.onkeypress = function(evt) {
    evt = evt || window.event;
    var target = evt.target || evt.srcElement;
    if ( !/INPUT|TEXTAREA|SELECT|BUTTON/.test(target.nodeName) ) {
        // Do stuff
    }
};
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top