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 相关文章推荐
jquery1.10给新增元素绑定事件的方法
Mar 06 Javascript
jQuery中:input选择器用法实例
Jan 03 Javascript
ajax读取数据后使用jqchart显示图表的方法
Jun 10 Javascript
jQuery中绑定事件bind() on() live() one()的异同
Feb 23 Javascript
jQuery中animate()的使用方法及解决$(”body“).animate({“scrollTop”:top})不被Firefox支持的问题
Apr 04 jQuery
Vue项目添加动态浏览器头部title的方法
Jul 11 Javascript
Vue.js中使用iView日期选择器并设置开始时间结束时间校验功能
Aug 12 Javascript
小程序实现短信登录倒计时
Jul 12 Javascript
Vue中跨域及打包部署到nginx跨域设置方法
Aug 26 Javascript
15 分钟掌握vue-next响应式原理
Oct 13 Javascript
vue项目中锚点定位替代方式
Nov 13 Javascript
JavaScript中的this妙用实例分析
May 09 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 文件夹删除、php清除缓存程序
2009/08/25 PHP
PHP开发的一些注意点总结
2010/10/12 PHP
php获取数组中重复数据的两种方法
2013/06/28 PHP
CodeIgniter模板引擎使用实例
2014/07/15 PHP
如何解决phpmyadmin导入数据库文件最大限制2048KB
2015/10/09 PHP
PHP的Yii框架的常用日志操作总结
2015/12/08 PHP
PHP读取并输出XML文件数据的简单实现方法
2017/12/22 PHP
PHP simplexml_import_dom()函数讲解
2019/02/03 PHP
laravel 之 Eloquent 模型修改器和序列化示例
2019/10/17 PHP
jQuery判断checkbox是否选中的3种方法
2014/08/12 Javascript
Javascript节点关系实例分析
2015/05/15 Javascript
JS实现购物车特效
2017/02/02 Javascript
JS实现延迟隐藏功能的方法(类似QQ头像鼠标放上展示信息)
2017/12/28 Javascript
基于node搭建服务器,写接口,调接口,跨域的实例
2018/05/13 Javascript
webuploader分片上传的实现代码(前后端分离)
2018/09/10 Javascript
使用vue根据状态添加列表数据和删除列表数据的实例
2018/09/29 Javascript
vue组件之间通信方式实例总结【8种方式】
2019/02/22 Javascript
利用原生JavaScript实现造日历轮子实例代码
2019/05/08 Javascript
使用Python的PIL模块来进行图片对比
2016/02/18 Python
实例讲解Python爬取网页数据
2018/07/08 Python
Python设置matplotlib.plot的坐标轴刻度间隔以及刻度范围
2019/06/25 Python
使用turtle绘制五角星、分形树
2019/10/06 Python
python在地图上画比例的实例详解
2020/11/13 Python
通过css3动画和opacity透明度实现呼吸灯效果
2019/08/09 HTML / CSS
45个非常奇妙的CSS3 特性应用示例
2012/01/01 HTML / CSS
Crocs欧洲官网:Crocs Europe
2020/01/14 全球购物
面向中国市场的在线海淘美妆零售网站:Beauty House美丽屋
2021/03/02 全球购物
共产党员承诺书
2014/03/25 职场文书
幼儿园安全责任书
2014/04/14 职场文书
公务员培的训心得体会
2014/09/01 职场文书
2014年9.18纪念日演讲稿
2014/09/14 职场文书
财务会计实训报告
2014/11/05 职场文书
2014年发展党员工作总结
2014/11/12 职场文书
Python3 如何开启自带http服务
2021/05/18 Python
OpenCV-Python实现人脸美白算法的实例
2021/06/11 Python
vue项目如何打包之项目打包优化(让打包的js文件变小)
2022/04/30 Vue.js