如何在Javascript中附加到COM事件

时间:2013-03-04 16:01:19

标签: c# javascript events com

我已按照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); 

应该与点表示法相同,这引发了一个不支持该事件的例外。

1 个答案:

答案 0 :(得分:1)

我们将继续这样做:

myComComponent.attachEvent("MyFirstEvent", myJavascriptHandler);

这样做,删除代码必须在HTML中,并且相当干净。