나는 HTML 페이지에로드 된 activex 객체가 있습니다. 그런 다음 해당 activex 객체를 사용하여 다른 객체를 만들지 만, 만든 새 객체로 이벤트를 등록해야합니다. 객체가 특정 유형의 이벤트 리스너를 예상합니다.자바 스크립트 이벤트를 객체에 등록하는 중
이 동일한 DLL을 C#에서로드 할 수 있으며 정상적으로 작동합니다. 코드는 C#의 경우와 유사합니다.
upload = obj.constructUploadObj(uploadConfig);
upload.stateChanged += new UploadActionEvents_stateChangedEventHandler(upload_stateChanged);
자바 스크립트에서는 비슷한 코드가 있지만 개체에 등록 된 이벤트를 가져올 수 없습니다.
uploadAction = obj.constructUploadObj(uploadConfig);
uploadAction.stateChanged = upload_stateChanged;
function upload_stateChanged(sender){
writeLine("uploadState changed " + sender.getState());
}
나는 그것을 실제로 만들어 졌는지 확인하기 위해 자바 스크립트의 uploadAction 개체의 속성 중 일부를 열거했다. uploadAction을 사용하여 이벤트를 등록하려고 시도하면 "개체가이 속성이나 메서드를 지원하지 않습니다."라는 오류가 발생합니다.
내게는 강력한 입력 이벤트가 예상됩니다. 어쨌든 자바 스크립트에서 C#과 비슷한 이벤트를 등록 할 수 있습니까?
감사의 말 전진. 당신이 'uploadAction'라는 액티브 X 개체가 가정이 정적 함수 선언이다,
function uploadAction::stateChanged(parms)
{
// ...
// implementation
// ...
}
참고 :
내 JS에서 완전히 같은 기능을 작성하려고하면 완전히 충돌합니다. – JustLogic
uploadAction은 activex 객체가 아닙니다. activex 객체를 사용하면 axObj에 uploadAction 객체를 생성하는 axObj.constructUpload 함수가 있습니다. 생성 된 후에 뭔가가 있는지 확인하기 위해 uploadAction에 함수를 호출했습니다. – JustLogic