JavaScript调用Activex控件的事件的实现方法

时间:2021-05-26

书写成这样:

<SCRIPT type="text/javascript" FOR="activexID" EVENT="onXXXevent()" >
// js 处理具体内容。
</SCRIPT>
当acitveX控件 onXXXevent()事件被触发时,调用此方法。

如果一个半个的话还好说,几十个这样的函数,把我的页面占据的满满的。况且在VS2008中,“设置选定内容格式化”总是提示:“未能完成该操作”.
于是我想用另一种方式来替代这种书写,最起码,可以把他放到一个单独的js文件中。

复制代码 代码如下:
vbscript实现的很奇特
sub activex_onXXXevent()
' 处理具体内容
end sub

没有搞明白。
复制代码 代码如下:
<script type = 'text/javascript'>
function onXXXevent(){
//js内容
}
activexID.attachEvent("onXXXevent", onXXXevent);
</script>

哦,这种方式,可以完美的实现,并且可以放到JS文件中,VS2008也可以支持。
顺便记录一下attachEvent的内容
在近来的工作中,用到了attachEvent方法,该方法可以为某一事件附加其它的处理事件,有时候可能比较有用,这里将其基本用法总结一下。
其语法可以查看《DHTML手册》,里面有详细的说明,这里贴一个例子,该例子来自互联网:
复制代码 代码如下:
document.getElementById("btn").onclick = method1;
document.getElementById("btn").onclick = method2;
document.getElementById("btn").onclick = method3;

如果这样写,那么将会只有medhot3被执行
写成这样:
复制代码 代码如下:
var btn1Obj = document.getElementById("btn1");
//object.attachEvent(event,function);
btn1Obj.attachEvent("onclick",method1);
btn1Obj.attachEvent("onclick",method2);
btn1Obj.attachEvent("onclick",method3);

执行顺序为method3->method2->method1

如果是Mozilla系列,并不支持该方法,需要用到addEventListener
复制代码 代码如下:
var btn1Obj = document.getElementById("btn1");
//element.addEventListener(type,listener,useCapture);
btn1Obj.addEventListener("click",method1,false);
btn1Obj.addEventListener("click",method2,false);
btn1Obj.addEventListener("click",method3,false);

执行顺序为method1->method2->method3

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章