다음과 같이 특정 클래스의 모든 요소에 대해 호출해야하는 외부 함수가 있습니다.
jQuery('.myClass').myFunction();
이것은 작동하지만 동적으로 생성 된 요소에 대해 어떻게이 작업을 수행 할 수 있습니까? 요소를 만들 수있는 여러 함수가 있으며 새 요소를 만드는 모든 코드에이 줄을 추가하고 싶지 않습니다.
그 이유는 내가 PHP와 함께 사용하는 요소에 따라 자바 스크립트를로드하기 때문입니다. 따라서 두 함수가 동일한 페이지에 함께로드되거나로드되지 않을 수있는 다른 파일에 있기 때문에 요소 생성 함수에 myFunction ()을 추가 할 수 없습니다.
그래서 .myFunction()
생성 되 자마자 '.myClass'로 객체에 대한 함수를 어떻게 호출 할 수 있습니까?
따라서 요소를 생성하는 함수에서 요소에 대해 어떤 함수를 호출해야하는지 모르겠고 요소에 대해 함수를 실행하는 파일에서 어떤 함수가 요소를 생성하는지 모르겠습니다.
해결 방법 : 중복 질문으로 표시되어 있으므로 답변을 추가 할 수 없습니다. 그러나 나는 그 질문과는 다른 접근 방식을 취했습니다. 내 접근 방식은 모든 스크립트가 요소를 만들 때 호출해야하는 함수를 추가 할 수있는 새 클래스를 만들고 새 요소를 만들 때 해당 함수를 호출하는 것입니다.
Js :
function jsHandler(){
this.actions = [];
this.addAction = function(action){
this.actions.push(action);
action();
};
this.callActions = function(){
jQuery.each(this.actions,function(key,action){
action();
});
};
}
var myJsHandler = new jsHandler;//global variable
그런 다음 객체에 대해 함수를 호출해야하는 각 파일에 다음을 넣습니다.
myJsHandler.addAction(function(){
jQuery('.myClass').myFuncion();
});
요소를 만드는 모든 파일에서 요소를 만든 후 다음을 넣습니다.
myJsHandler.callActions();
나를 위해 이것은 작동합니다. 그래도 몇 가지 참고 사항 :
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다