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 相关文章推荐
找到了一篇jQuery与Prototype并存的冲突的解决方法
Aug 29 Javascript
JavaScript转换农历类实现及调用方法
Jan 27 Javascript
2014年最火的Node.JS后端框架推荐
Oct 27 Javascript
TypeScript具有的几个不同特质
Apr 07 Javascript
手机移动端实现 jquery和HTML5 Canvas的幸运大奖盘特效
Dec 06 Javascript
详解vue 模拟后台数据(加载本地json文件)调试
Aug 25 Javascript
vue2.0s中eventBus实现兄弟组件通信的示例代码
Oct 25 Javascript
微信小程序引入模块中wxml、wxss、js的方法示例
Aug 09 Javascript
Vue项目中如何使用Axios封装http请求详解
Oct 23 Javascript
原生js实现碰撞检测
Mar 12 Javascript
vue中使用router全局守卫实现页面拦截的示例
Oct 23 Javascript
VUE递归树形实现多级列表
Jul 15 Vue.js
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的preg_match匹配字符串长度问题解决方法
2014/05/03 PHP
PHP实现移除数组中为空或为某值元素的方法
2017/01/07 PHP
PHP简单实现二维数组的矩阵转置操作示例
2017/11/24 PHP
网页自动刷新,不产生嗒嗒声的一个解决方法
2007/03/27 Javascript
JavaScript 开发规范要求(图文并茂)
2010/06/11 Javascript
JQuery写动态树示例代码
2013/07/31 Javascript
jquery delay()介绍及使用指南
2014/09/02 Javascript
浅谈js的html元素的父节点,子节点
2016/08/06 Javascript
详解react使用react-bootstrap当轮子造车
2017/08/15 Javascript
ES6 系列之 WeakMap的使用示例
2018/08/06 Javascript
浅谈vuex actions和mutation的异曲同工
2018/12/13 Javascript
在Create React App中使用CSS Modules的方法示例
2019/01/15 Javascript
Elementui表格组件+sortablejs实现行拖拽排序的示例代码
2019/08/28 Javascript
[47:31]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第一场 12.12
2020/12/16 DOTA
python二叉树的实现实例
2013/11/21 Python
python实现简单的TCP代理服务器
2014/10/08 Python
Windows系统下PhantomJS的安装和基本用法
2018/10/21 Python
Pandas读取并修改excel的示例代码
2019/02/17 Python
python字符串和常用数据结构知识总结
2019/05/21 Python
python实现ip地址查询经纬度定位详解
2019/08/30 Python
python 爬虫 实现增量去重和定时爬取实例
2020/02/28 Python
Python如何批量获取文件夹的大小并保存
2020/03/31 Python
VScode连接远程服务器上的jupyter notebook的实现
2020/04/23 Python
django实现日志按日期分割
2020/05/21 Python
在keras中实现查看其训练loss值
2020/06/16 Python
简单掌握CSS3将文字描边及填充文字颜色的方法
2016/03/07 HTML / CSS
使用CSS3的::selection改变选中文本颜色的方法
2015/09/29 HTML / CSS
ASOS亚洲:ASOS Asia
2018/03/04 全球购物
OnePlus加拿大官网:中国国际化手机品牌
2020/10/13 全球购物
酒店管理毕业生自荐信
2013/10/24 职场文书
中层干部竞聘演讲稿
2014/05/15 职场文书
银行求职信
2014/05/31 职场文书
欢迎新生标语
2014/10/06 职场文书
写给媳妇的检讨书
2015/05/06 职场文书
nginx+lua单机上万并发的实现
2021/05/31 Servers
Vue3.0中Ref与Reactive的区别示例详析
2021/07/07 Vue.js