Frage

Ich versuche, die Form.Element.disable () -Methode in PrototypeJS außer Kraft zu setzen, so dass es eine benutzerdefinierte Klasse für behinderte Formularelemente hinzu.

Ich habe hinzugefügt:

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

auf die Seite nach dem Laden prototype.js - dies funktioniert, wenn sie direkt zB genannt

Form.Element.disable("myInputBox");

Aber die ursprüngliche PrototypeJS Methode wird verwendet, wenn ich rufe

$("myInputBox").disable();

Ich weiß, dass es etwas ist, mit dem „Rahmen“, in dem zu tun, ich bin zu definieren - ich bin effektiv eine neue Instanz der disable () Methode zu schaffen, aber ich habe keine Ahnung, wie der Umfang so verschieben, dass es ersetzt die ursprüngliche PrototypeJS Version.

Wo soll ich denn falsch?

War es hilfreich?

Lösung

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

Und wenn es nicht funktioniert: http://api.prototypejs.org/ dom / Element / addMethods /

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

Andere Tipps

Form.Element.prototype.disable = function(element) { ... }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top