나는 이런 식으로 만들어 ValueBox라는 개체가 있습니다jQuery를 발() 메소드
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() 메서드에 액세스 할 수 있습니까?
"는 사용할 수 없습니다"의미 "기본"jQuery를 방법을 확장 정확히 (해명). 접근 할 수 없습니까? 방화범에서 val 메서드를 호출 해 보셨습니까? 분명 나에게 공개적으로 보인다. – geowa4
필자의 저의 강조점은 변경 처리기에서 "this"라는 키워드는 내가 만든 개체가 아니라 요소 자체를 참조한다는 것입니다. $ (this)와 같이 랩핑하면, 단순히 jQuery 객체 대신에 일반적인 jQuery 객체를 사용한다. – DLH
오! 오케이, 나는 그 문제를 해결할 방법을 알고 있다고 생각한다. – geowa4