我有一個activex對象,我加載到一個HTML頁面。然後,我使用該activex對象來創建另一個對象,但我需要用創建的新對象註冊一個事件。該對象正在等待某個類型的事件偵聽器。Javascript註冊事件到對象
我可以加載這個相同的DLL在C#中,它會正常工作。代碼看起來像這樣的C#。
upload = obj.constructUploadObj(uploadConfig);
upload.stateChanged += new UploadActionEvents_stateChangedEventHandler(upload_stateChanged);
在javascript中我也有類似的代碼,但我不能得到與對象一起註冊的事件。
uploadAction = obj.constructUploadObj(uploadConfig);
uploadAction.stateChanged = upload_stateChanged;
function upload_stateChanged(sender){
writeLine("uploadState changed " + sender.getState());
}
我已經列舉了一些JavaScript中的uploadAction對象的屬性,以確保它實際上是創建。當我嘗試使用uploadAction註冊事件時,它會拋出一個錯誤,指出「對象不支持此屬性或方法」。
對我來說,它似乎是它期待的一個強類型事件。無論如何在javascript中註冊類似於C#的事件?
在此先感謝。
如果我嘗試在我的JS中編寫這樣的函數,它會完全崩潰。 – JustLogic 2008-10-16 16:50:40
uploadAction不是activex對象。 activex對象可以說,axObj有一個構造函數axObj.constructUpload,用於創建uploadAction對象。在創建它之後,我在uploadAction上調用了一個函數來驗證是否存在。 – JustLogic 2008-10-16 16:52:12