سؤال

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

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

المحلول

PPK لديه تقنية لهذا، بما في ذلك الحلول اللازمة ل IE: http://www.quirksmode.org/blog/archives/2008/04/delegating_the.html ..

نصائح أخرى

ستحتاج إلى استخدام التقاط الأحداث (بدلا من الفقاعات) للمتصفحات المتوافقة مع المعايير و focusout ل IE:

if (myForm.addEventListener) {
    // Standards browsers can use event Capturing. NOTE: capturing 
    // is triggered by virtue of setting the last parameter to true
    myForm.addEventListener('blur', validationFunction, true);
}
else {
    // IE can use its proprietary focusout event, which 
    // bubbles in the way you wish blur to:
    myForm.onfocusout = validationFunction;
}

// And of course detect the element that blurred in your handler:
function validationFunction(e) {
    var target = e ? e.target : window.event.srcElement;

    // ...
}

يرى http://www.quirksmode.org/blog/archives/2008/04/delegating_the.html .. للحصول على تفاصيل العصير

استعمال 'التركيزالحدث لأنه يحتوي على تأثير فقاعة .. شكرا.

لاستخدام الفقاعة مع onblur الحدث، ثم يمكنك استخدام AddEventListener () وتعيين المعلمة USECAPTURE إلى خاطئة. وبعد مثله:

yourFormInput.addEventListener('blur', yourFunction, false);

فايرفوكس 51 وما دون دعم onfocusout حدث. لذلك لا تستخدم onfocusout بدلاً من onblur حدث.

AA، يمكنك ببساطة إضافة حدث OnBlur في النموذج، وسوف استدعاء التحقق من الصحة في كل مرة تقوم فيها بتغيير التركيز على أي من العناصر داخلها

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