我有一個名爲ValueBox的對象,我喜歡這創造:jQuery的VAL()上的自定義對象方法
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());
}
}
}
我有這觸發每當$inputBox
變化的特定ValueBox實例的變化事件,但更改回調函數無法在我的類中使用val()方法。我假設通過使用$(this).val()
來調用jQuery val()方法,這當然不起作用。是否可以訪問我定義的val()方法?
「無法使用」的意思究竟是什麼(澄清)。它無法訪問它?你嘗試從螢火蟲中調用val方法嗎?它當然會向我公開。 – geowa4 2009-07-28 15:01:27
我的內容是在更改處理程序中,關鍵字「this」引用元素本身,而不是我創建的對象。如果我包裝像$(this)那樣,它只是使用正常的jQuery對象而不是我的。 – DLH 2009-07-28 15:34:26
哦!好吧,我想我知道一個方法。 – geowa4 2009-07-28 15:55:30