我已按照this example创建要在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');
}
这适用于使用IDispatch
的旧版C ++ COM事件,但它不适用于新的C#代码。有没有办法在onLoad
中挂钩事件?我只是想避免将javascript放在HTML中......
编辑:
我试过
myComComponent.addEventListener("MyFirstEvent", myJavascriptHandler, true);
应该与点表示法相同,这引发了一个不支持该事件的例外。
答案 0 :(得分:1)
我们将继续这样做:
myComComponent.attachEvent("MyFirstEvent", myJavascriptHandler);
这样做,删除代码必须在HTML中,并且相当干净。