我用的是VS2008 C++ 写好了一个ACTIVEX的控件,里面有一个自定义事件,JS死活调 不出来,在TstCon32下可以触发事件的。
JS调用<a href="javascript:exit()" >退出</a>
<script for="myocx" language="JavaScript"  event="CardComing()" type="text/javascript">
alert(11);
</script>
参考了 http://hi.baidu.com/%D0%EC%D7%D4%C0%A4/blog/item/6ac1e2fd7fa91f85b801a0cb.html
添加了连接点,还是触发不了事件。请教下这个是怎么回事,有简单的ACTIVEX 自定义事件 实例可以共享下不先谢谢!

解决方案 »

  1.   

    http://stackoverflow.com/questions/3579941/handling-atl-activex-events-from-within-javascript
    Handling ATL/ActiveX events from within JavaScript
      

  2.   

    这种一般可以不用自定义事件,控件中可以直接调用JS的函数
    get_Script(), Invoke()
      

  3.   

    因为要在JS处理一些页面的事情,控件调用JS函数还是会执行处理页面事情吗?
      

  4.   

    http://topic.csdn.net/u/20100907/15/bed8cc9d-91f8-48ec-b738-529f6af48a1d.html
    上面有要实现的接口,遇到过同样的问题。
      

  5.   

    javascrip不能响应ATL事件解决方法ATL 2011-03-09 12:17:53 阅读0 评论0   字号:大中小 订阅 
    public IProvideClassInfo2Impl<&CLSID_TestCtrl, &DIID__ITestCtrlEvents, &LIBID_TEST4Lib> 在BEGIN_COM_MAP中增加两句:
     COM_INTERFACE_ENTRY(IProvideClassInfo)
     COM_INTERFACE_ENTRY(IProvideClassInfo2)
    http://mylife39.blog.163.com/blog/static/16211003420112901753772/
      

  6.   

    看 深入解析ATL 前几章就有 实际的例子,主要是 dispinterface 的处理
      

  7.   

    <script for="myocx" event="CardComing()" /script>
    首先要保证你的“myocx”是有效的ocx ID
      

  8.   

    你有无继承IDispatch?实现了它就可以的,双接口肯定能操作所有的了,就是专为浏览器用的,不然也不会用它,效率会有一点差距。