我已按照此示例创建要在 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);
这应该与点表示法相同,这会引发不支持该事件的异常。