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 相关文章推荐
由JavaScript中call()方法引发的对面向对象继承机制call的思考
Sep 12 Javascript
javascript数字格式化通用类 accounting.js使用
Aug 24 Javascript
JavaScript的漂亮的代码片段
Jun 05 Javascript
将json当数据库一样操作的javascript lib
Oct 28 Javascript
JavaScript中的setMilliseconds()方法使用详解
Jun 11 Javascript
jQuery中 delegate使用的问题
Jul 03 Javascript
酷炫jQuery全屏3D焦点图动画效果
Mar 22 Javascript
javascript之with的使用(阿里云、淘宝使用代码分析)
Oct 11 Javascript
Angular模板表单校验方法详解
Aug 11 Javascript
使用jquery模拟a标签的click事件无法实现跳转的解决
Dec 04 jQuery
解决layui数据表格排序图标被超出的表头挤出去的问题
Sep 19 Javascript
vue 实现 rem 布局或vw 布局的方法
Nov 13 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实现数字补零功能的2个函数介绍
2014/05/12 PHP
ThinkPHP采用原生query实现关联查询left join实例
2014/12/02 PHP
详解PHP使用Redis存储session时的一个Warning定位
2017/07/05 PHP
thinkPHP5使用Rabc实现权限管理
2019/08/28 PHP
写js时遇到的一些小问题
2010/12/06 Javascript
基于jquery的用鼠标画出可移动的div
2012/09/06 Javascript
基于jQuery的图片不完全按比例自动缩小
2014/07/11 Javascript
原生javascript实现隔行换色
2015/01/04 Javascript
JQuery中ajax方法访问web服务实例
2015/07/18 Javascript
轻量级jQuery插件slideBox实现带底栏轮播(焦点图)代码
2016/03/28 Javascript
javascript实现二叉树遍历的代码
2017/06/08 Javascript
详解Vue快速零配置的打包工具——parcel
2018/01/16 Javascript
Vue指令之 v-cloak、v-text、v-html实例详解
2019/08/08 Javascript
对Layer UI 模块化的用法详解
2019/09/26 Javascript
js实现开关灯效果
2020/03/30 Javascript
vue 解除鼠标的监听事件的方法
2019/11/13 Javascript
NodeJS实现一个聊天室功能
2019/11/25 NodeJs
Vue+Node实现商品列表的分页、排序、筛选,添加购物车功能详解
2019/12/07 Javascript
vue中组件通信详解(父子组件, 爷孙组件, 兄弟组件)
2020/07/27 Javascript
基于Python 的进程管理工具supervisor使用指南
2016/09/18 Python
Python正则抓取新闻标题和链接的方法示例
2017/04/24 Python
Python实现的json文件读取及中文乱码显示问题解决方法
2018/08/06 Python
python for 循环获取index索引的方法
2019/02/01 Python
Python从函数参数类型引出元组实例分析
2019/05/28 Python
python 实现12bit灰度图像映射到8bit显示的方法
2019/07/08 Python
Python字典中的值为列表或字典的构造实例
2019/12/16 Python
Django在Model保存前记录日志实例
2020/05/14 Python
澳大利亚设计师服装在线:MISHA
2019/10/07 全球购物
巴西备受欢迎的服装和生活方式品牌:FARM Rio
2020/02/04 全球购物
意大利文具和办公产品在线商店:Y-Office
2020/02/27 全球购物
Python如何实现单例模式
2016/06/03 面试题
办公室主任先进事迹
2014/01/18 职场文书
工商管理专业大学生职业生涯规划范文
2014/03/09 职场文书
高校教师自荐信范文
2014/03/13 职场文书
环境工程专业自荐信范文
2014/06/24 职场文书
2015年车间安全管理工作总结
2015/05/13 职场文书