JS实现OCX控件的事件响应示例


Posted in Javascript onSeptember 17, 2014

JS支持OCX控件的事件(event),当OCX控件定义的事件发生时,JS可以捕获该事件并对事件进行相应的处理。

个人理解,其实就是事件的响应由谁来完成,OCX控件自身肯定是可以实现的,JS提供的这种机制使JS也可以完成OCX控件事件的响应。

简单举例如下:

首先在OCX控件中添加自定义事件(预定义事件同理,如鼠标点击等,没亲自试,感觉原理应该是一样的),

事件应该是属于窗口的,所以在Ctrl类上单击右键,Add->Add Event,如下图:

在打开的对话框中输入事件名称,例如OnChange,如果需要参数,设置参数信息,点击 [ 完成 ],向导自动生成代码,如下

// 事件映射 

BEGIN_EVENT_MAP(CH_OcxCtrl, COleControl) 

EVENT_CUSTOM_ID("OnChange", eventidChange, OnChange, VTS_NONE) 

END_EVENT_MAP()

好了,事件定义完成,接下来需要触发该事件,可在OCX控件的某个函数中调用OnChange()来触发事件。
OCX控件的事件定义至此完成。

接下来是JS中的对事件的响应,代码如下,

<script language="javascript" for="MyCtrl" event="OnChange()" type="text/javascript"> 

Call(); //也可直接写操作代码

</script>

MyCtrl是该控件在本页面中的OCX控件对象ID(name好像也可以,没有试过),可在javascript中操作该对象。
OnChange()是OCX控件中的事件,这里的事件名称必须与OCX控件中的事件名称一样。
如果事件带参数,当触发事件的时候,OCX控件会传递相应的参数,例如事件有两个参数p1和p2,可写为event = “OnChange(param1,param2)”,此时param1、param2会对应接收到p1、p2,同理Call(param1,param2)。
<script type="text/javascript" Language=Javascript> 

function Call(param1,param2) 

{ 

alert(param1+param2); //操作代码

} 

</script>

写的仓促,语言表达不是很清晰,基本思路是这样,用以备忘。
Javascript 相关文章推荐
JS 有名函数表达式全面解析
Mar 19 Javascript
Java 正则表达式学习总结和一些小例子
Sep 13 Javascript
js日期、星座的级联显示代码
Jan 23 Javascript
自定义jQuery插件方式实现强制对象重绘的方法
Mar 23 Javascript
JavaScript实现的MD5算法完整实例
Feb 02 Javascript
requireJS使用指南
Apr 27 Javascript
关于input全选反选恶心的异常情况
Jul 24 Javascript
jQuery模拟完美实现经典FLASH导航动画效果【附demo源码下载】
Nov 09 Javascript
Vue 全局loading组件实例详解
May 29 Javascript
快速解决vue动态绑定多个class的官方实例语法无效的问题
Sep 05 Javascript
ES6 Proxy实现Vue的变化检测问题
Jun 11 Javascript
JavaScript对象原型链原理解析
Jan 22 Javascript
javascript快速排序算法详解
Sep 17 #Javascript
js生成的验证码的实现与技术分析
Sep 17 #Javascript
Node.js中使用Log.io在浏览器中实时监控日志(等同tail -f命令)
Sep 17 #Javascript
node.js中使用q.js实现api的promise化
Sep 17 #Javascript
Javascript判断文件是否存在(客户端/服务器端)
Sep 16 #Javascript
ie8下修改input的type属性报错的解决方法
Sep 16 #Javascript
JavaScript函数定义的常见注意事项小结
Sep 16 #Javascript
You might like
PHP逐行输出(ob_flush与flush的组合)
2012/02/04 PHP
使用php方法curl抓取AJAX异步内容思路分析及代码分享
2014/08/25 PHP
php准确获取文件MIME类型的方法
2015/06/17 PHP
php实现QQ空间获取当前用户的用户名并生成图片
2015/07/25 PHP
PHP中Session和Cookie是如何操作的
2015/10/10 PHP
PHP yii实现model添加默认值的方法(两种方法)
2016/11/10 PHP
jquery判断RadioButtonList和RadioButton中是否有选中项示例
2013/09/29 Javascript
jQuery toggleClass应用实例(附效果图)
2014/04/06 Javascript
jQuery中:password选择器用法实例
2015/01/03 Javascript
JavaScript实现添加及删除事件的方法小结
2015/08/04 Javascript
基于javascript制作微信聊天面板
2020/08/09 Javascript
jQuery中的通配符选择器使用总结
2016/05/30 Javascript
AngularJS  自定义指令详解及实例代码
2016/09/14 Javascript
微信小程序 实战小程序实例
2016/10/08 Javascript
了解Javascript中函数作为对象的魅力
2019/06/19 Javascript
vue使用i18n实现国际化的方法详解
2019/09/05 Javascript
详解ES6中class的实现原理
2020/10/03 Javascript
[01:34]2014DOTA2 TI预选赛预选赛 选手比赛房大揭秘!
2014/05/20 DOTA
Python创建文件和追加文件内容实例
2014/10/21 Python
Python中if __name__ == &quot;__main__&quot;详细解释
2014/10/21 Python
python脚本实现xls(xlsx)转成csv
2016/04/10 Python
使用python 和 lint 删除项目无用资源的方法
2017/12/20 Python
NLTK 3.2.4 环境搭建教程
2018/09/19 Python
Python中flatten( )函数及函数用法详解
2018/11/02 Python
python爬取盘搜的有效链接实现代码
2019/07/20 Python
python 命令行传入参数实现解析
2019/08/30 Python
Python字符串大小写转换拼接删除空白
2019/09/19 Python
瑞典时尚服装购物网站:Miinto.se
2017/10/30 全球购物
TripAdvisor瑞典:全球领先的旅游网站
2017/12/11 全球购物
英语师范专业毕业生自荐信
2013/09/21 职场文书
弘扬雷锋精神活动演讲稿
2014/03/04 职场文书
好习惯伴我成长演讲稿
2014/05/21 职场文书
单位更名证明
2015/06/18 职场文书
导游词之阳朔遇龙河
2019/12/16 职场文书
PyTorch的Debug指南
2021/05/07 Python
python批量创建变量并赋值操作
2021/06/03 Python