2011-04-21 5 views
0

다음 코드 패턴은 AJAX 시스템을 구성하는 방법입니다. 더 많은 프로토 타입 속성이 추가 될 때 걱정됩니다. 이는 유지 보수성과 효율성에 큰 타격을 줄 수 있습니다.다음 javascript 구조에 대한 더 나은 대안이 있습니까?

AJAX에 대한 유지 보수 가능하고 효율적인 구성을 만드는 더 좋은 방법이 있습니까?

function AjaxSample() 
{ 
    //bindJS() is used to bind the 'this' pointer to the scope of the function 
    $('#button_one').click(bindJS(this.button_oneEvent,this)); 
} 

AjaxSample.prototype.button_oneEvent = function(event) 
{ 
    //code to handle the event 
} 
+0

최신 브라우저에는 Function prototype에 "bind()"기능이 있습니다.이 기능은 "bindJS"기능의 기능을 정확하게 수행합니다. 당신의 접근 방식에는 아무런 문제가 없습니다. – Pointy

+0

저는 또한 대부분의 사용자가 IE6에 포함될 것임을 고려하고 있습니다. – samxli

+1

잘 @samxli 괜찮습니다. "bindJS"함수는 IE6에서 정상적으로 작동하거나 Prototype.js 라이브러리처럼 Function 프로토 타입에 추가 할 수 있습니다. – Pointy

답변

1

예.

var self = this; 
$('#button_one').click(function() { 
    self.button_oneEvent(); 
}); 

실제로이 기술을 사용하면 실제로 어떤 일이 일어나는지 분명합니다.

+3

질문에있는 것보다 이것이 왜 더 좋은지는 알 수 없습니다. "bindJS"함수는 아마도 똑같은 일을 끝내는 익명의 함수를 반환 할 것입니다. – Pointy

+0

나는 이것이 더 "obvouis"라고 생각하지 않는다. 이것은 스타일의 문제입니다. – Raynos

관련 문제