日期:2014-05-16  浏览次数:20377 次

JS触发OCX的EVENT事件问题
是这样的,我用C++自己封装了个OCX,定义了一个自定义事件SendMessage,在JSP中用JS来处理这个事件,将OCX事件返回的字符串打印在网页上,现在的问题是,我在OCX的一个方法的不同地方Fire这个事件,虽然JS能处理,但是是一起处理的,也就是说在OCX方法运行完成后一次性打印在网页上:
FireSendMessage("1234");
//DO SOMETHING
FireSendMessage("5678");
我向要的效果就是,网页上先打印1234,然后等中间过程处理完,网页上再打印5678,求大神告知该如何解决,是我的OCX问题,还是JS的处理有问题~~~
------解决方案--------------------
同步模式或异步模式的问题
没做过OCX开发,但winform来说,你将
//DO SOMETHING
FireSendMessage("5678");
用线程去处理,达到异步执行的话,应该可以达到你要的效果

大致就这么个意思吧
------解决方案--------------------
我个人觉得你没有错,你封装了Fire事件没错,但是在fire事件,同时执行调用两个方法,肯定有一个先,一个后的,js是单线程,所以肯定先从上往下的,故此应该判断是你封装,ocx方法时,可能出现某种出乎意料的事哦