0

我已按照此示例创建要在 javascript 中使用的 COM 事件。但是,我不喜欢最终的附加代码?

<script for="myComComponent" event="MyFirstEvent(args)" language="javascript">
    function myComComponent::MyFirstEvent(args) {
        alert('event');
    }
</script>

我想要的是能够做一些更像

//in the onload
myComComponent.MyFirstEvent = myJavascriptHandler;

//function setup
function myJavascript(args){
    alert('event');
}

这适用于使用 的旧 C++ COM 事件IDispatch,但不适用于新的 C# 代码。有没有办法将事件挂钩onLoad?我只是想避免将 javascript 放在 HTML 中...

编辑:

我试过

myComComponent.addEventListener("MyFirstEvent", myJavascriptHandler, true); 

这应该与点表示法相同,这会引发不支持该事件的异常。

4

1 回答 1

1

我们这样做:

myComComponent.attachEvent("MyFirstEvent", myJavascriptHandler);

这很有效,无需将代码放在 HTML 中,而且相当干净。

于 2013-03-04T16:12:56.803 回答