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实现改变TEXTAREA滚动条和按钮的颜色,以及怎样让滚动条变得扁平
Apr 20 Javascript
Javascript中自动切换焦点实现代码
Dec 15 Javascript
jQuery中nextAll()方法用法实例
Jan 07 Javascript
JS响应鼠标点击实现两个滑块区间拖动效果
Oct 26 Javascript
基于jQuery和CSS3制作响应式水平时间轴附源码下载
Dec 20 Javascript
JavaScript实现显示函数调用堆栈的方法
Apr 21 Javascript
Vue2.0用户权限控制解决方案的示例
Feb 10 Javascript
微信小程序页面传多个参数跳转页面的实现方法
May 17 Javascript
利用Electron简单撸一个Markdown编辑器的方法
Jun 10 Javascript
JS把字符串格式的时间转换成几秒前、几分钟前、几小时前、几天前等格式
Jul 10 Javascript
Vue+Node服务器查询Mongo数据库及页面数据传递操作实例分析
Dec 20 Javascript
详解小程序横屏方案对比
Jun 28 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
解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
2009/03/13 PHP
PHP搭建大文件切割分块上传功能示例
2017/01/04 PHP
PHP基于IMAP收取邮件的方法示例
2017/08/07 PHP
发一个自己用JS写的实用看图工具实现代码
2008/07/26 Javascript
Jquery ajax不能解析json对象,报Invalid JSON错误的原因和解决方法
2010/03/27 Javascript
Javascript 绘制 sin 曲线过程附图
2014/08/21 Javascript
jquery 根据name名获取元素的value值
2015/02/27 Javascript
Javascript编写2048小游戏
2015/07/07 Javascript
JavaScript组件开发完整示例
2015/12/15 Javascript
jquery对象和DOM对象的任意相互转换
2016/02/21 Javascript
Extjs4.0 ComboBox如何实现三级联动
2016/05/11 Javascript
JavaScript实现复制文章自动添加版权
2016/08/02 Javascript
微信小程序开发经验总结(推荐)
2017/01/11 Javascript
jquery 仿锚点跳转到页面指定位置的实例
2017/02/14 Javascript
JS自定义滚动条效果简单实现代码
2020/10/27 Javascript
axios的拦截请求与响应方法
2018/08/11 Javascript
Python基于Matplotlib库简单绘制折线图的方法示例
2017/08/14 Python
Python登录注册验证功能实现
2018/06/18 Python
使用jupyter notebook将文件保存为Markdown,HTML等文件格式
2020/04/14 Python
python 安装移动复制第三方库操作
2020/07/13 Python
Python3实现英文字母转换哥特式字体实例代码
2020/09/01 Python
Python三维绘图之Matplotlib库的使用方法
2020/09/20 Python
python如何利用paramiko执行服务器命令
2020/11/07 Python
python爬虫分布式获取数据的实例方法
2020/11/26 Python
英国汽车座椅和婴儿车购物网站:Uber Kids
2017/04/19 全球购物
来自世界各地的优质葡萄酒:VineShop24
2018/07/09 全球购物
免税水晶:Duty Free Crystal
2019/05/13 全球购物
德国大型箱包和皮具商店:Koffer
2019/10/01 全球购物
市场营销毕业生自荐信
2013/11/23 职场文书
校园联欢晚会主持词
2014/03/17 职场文书
合伙经营协议书范本
2014/04/18 职场文书
国土资源局开展党的群众路线教育实践活动整改措施
2014/09/26 职场文书
2014年评职称工作总结
2014/11/20 职场文书
2015元旦晚会主持人开场白+结束语
2014/12/14 职场文书
python 模拟在天空中放风筝的示例代码
2021/04/21 Python
python中的plt.cm.Paired用法说明
2021/05/31 Python