Ich habe ein Objekt namens ValueBox, die ich so erstellt:jQuery val() Methode auf einem benutzerdefinierten Objekt
function ValueBox(params) {
...
$.extend(true, this, $('/* some HTML elements */'));
...
var $inputBox = $('input[type=text]', this);
...
this.val = function(newValue) {
if(typeof newValue == "number") {
$inputBox.val(newValue);
$inputBox.change();
} else {
return parseFloat($inputBox.val());
}
}
}
Ich habe ein Änderungsereignis auf einem bestimmten ValueBox Instanz, die immer dann, wenn die $inputBox
Änderungen feuert, aber die Callback-Funktion ändern kann die Methode val() in meiner Klasse nicht verwenden. Ich gehe davon aus, dass ich mit der $(this).val()
die jQuery val() -Methode aufruft, was natürlich nicht funktionieren würde. Ist es möglich, auf die von mir definierte Methode val() zuzugreifen?
"nicht in der Lage zu verwenden" bedeutet, was genau (zur Klarstellung). es kann nicht darauf zugreifen? hast du versucht, die Val-Methode von Firebug aufzurufen? es erscheint mir sicher öffentlich. – geowa4
Mein Understading ist, dass das Schlüsselwort "this" sich im Change-Handler auf das Element selbst bezieht und nicht auf das Objekt, das ich erstellt habe. Wenn ich das wie $ (this) umschließe, verwendet es einfach das normale jQuery-Objekt statt meiner. – DLH
Oh! ok, ich denke, ich kenne mich darin aus. – geowa4