سؤال

وأنا محاولة لتجاوز أسلوب Form.Element.disable () في PrototypeJS بحيث يضيف فئة مخصصة لعناصر النموذج معطل.

ولقد أضاف:

Form.Element.disable = function(element) {
element = $(element);
element.blur();
element.disabled = true;
element.addClassName("disabled");
return element;}

وعلى الصفحة بعد prototype.js تحميل - يعمل هذا إذا دعا مباشرة على سبيل المثال

Form.Element.disable("myInputBox");

ولكن يتم استخدام الأسلوب PrototypeJS الأصلي إذا أدعو

$("myInputBox").disable();

وأنا أعلم أنها لأن تفعل شيئا مع "المدى" التي أنا تعريفه - أنا على نحو فعال خلق مثيل جديد من طريقة تعطيل ()، ولكن ليس لدي أي فكرة عن كيفية تحويل نطاق بحيث يستبدل الإصدار PrototypeJS الأصلي.

وأين أنا ذاهب خطأ؟

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

المحلول

Form.Element.addMethods({
    disable: function(element) {
        // stuff here
    }
});

وإذا كان لا يعمل: http://api.prototypejs.org/ دوم / العنصر / addMethods /

Element.addMethods(["input", "textarea", "select"], {
    disable: function(element) {
        // stuff here
    }
});

نصائح أخرى

Form.Element.prototype.disable = function(element) { ... }
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top