attachEvent&com组件事件问题!!!!!~~~~~^_^谢谢

yjingoxl 2006-03-07 10:20:22
代码如下
<object id="onecom" ........></object>
<script language="javascript">
var athercom=onecom.ather //athercom为onecom中属性对象
function doEvent(p1,p2){
alert(p1+"---"+p2);
}
athercom.attachEvent("oneEvent(para1,para2)",doEvent(p1,p2));
</script>

运行结果p1,p2为空
测试好久都不能传参数
<script for=object event>这种方式是可以转参数的
但是没有办法绑定到athercom组件上啊
...全文
252 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
yjingoxl 2006-03-09
  • 打赏
  • 举报
回复
控件ID是onecom 但是事件是产生在onecom.athercom上也就是子对象athercom上
object写法是这样的
<object id="onecom" ........></object>

准备把com封装在ocx中,还没到现场...公司没那设备啊..烦
希望能通过 谢谢大家...
javascript能捕捉dll组件事件吗????....那位大哥给点资料
astra1 2006-03-09
  • 打赏
  • 举报
回复
不知道你的DLL是如何,建议装Microsoft ActiveX Control Pad测试
quicklin 2006-03-08
  • 打赏
  • 举报
回复
我认为首先你要清楚是用javascript调用com组件的方法,还是com组件调用javascript的方法;
看你的意思好像是在com组件的一个事件触发时调用javascript方法,并传递参数,这样的话可以在
com控件中写上调用javascript函数。
astra1 2006-03-08
  • 打赏
  • 举报
回复
onecom.athercom是你的控件ID?
如果你的ID是onecom,那应该是

<script for="onecom" event=.......> 才对

你的<object>代码是怎么写的
yjingoxl 2006-03-08
  • 打赏
  • 举报
回复
那绑到对象的时候这样了
<script for="onecom.athercom" event=.......>
不是ocx的,是dll的组件
要和服务器通信 服务器返回数据产生事件..
javascript能捕捉到dll的事件吗...dll里边的方法能够调用
astra1 2006-03-08
  • 打赏
  • 举报
回复
如果你不清楚这个activex的属性和事件说明,可以装个Microsoft ActiveX Control Pad看看详细说明啊

WMP之所以能用<SCRIPT FOR="mediaplayer" EVENT="playStateChange(lOldState,lNewState)">
是因为它的playStateChange这个事件本身会传两个参数

或者把你的activex控件发布出来大家一起研究研究
yjingoxl 2006-03-08
  • 打赏
  • 举报
回复
弱弱的问一问
javascript能调用dll中的事件吗!!!....
yjingoxl 2006-03-08
  • 打赏
  • 举报
回复
郁闷...
argument.length
读出来是0.就没有参数...
athercom是个com组件中的子对象 只能通过onecom.ather这样得到啊...<script for>这种方法怎么把对象帮定上去啊
athercom.attachEvent("eventName",functionReference);
在程序中调用出错,只有athercom.attachEvent("eventName()",functionReference());
加括弧后能产生事件 但是参数得不到....返回后报错 不支持属性或方法....
急啊!!!.....
chouchy 2006-03-07
  • 打赏
  • 举报
回复
attachEvent() 方法的用法如下:
elemObject.attachEvent("eventName", functionReference);
eventName 参数的值是表示事件名称的字符串,比如 onmousedown。
functionReference 参数是一个不带括号的函数引用。
astra1 2006-03-07
  • 打赏
  • 举报
回复
如果你要使用自定义参数名,只能这样做(我这里拿WMP做例子)

<SCRIPT LANGUAGE="JScript" FOR="mediaplayer" EVENT="playStateChange(lOldState,lNewState)">
alert(lOldState+","+lNewState);
</script>

for的值是控件ID,event里面是事件名和参数名
meizz 2006-03-07
  • 打赏
  • 举报
回复
attachEvent 可以这样:
window.attachEvent("onload", function(e){doEvent(e)});
也可以:
window.attachEvent("onload", doEvent);
astra1 2006-03-07
  • 打赏
  • 举报
回复
那样定义是不能使用参数的

但你可以这样
doEvent(){
alert(arguments[0]+"--"+arguments[1]);
}
yjingoxl 2006-03-07
  • 打赏
  • 举报
回复
那怎么使用参数呢!!!
doEvent(){
alert(para1+"--"+para2);
}
这样吗!!
试试先!
meizz 2006-03-07
  • 打赏
  • 举报
回复
athercom.attachEvent("oneEvent", doEvent); //这样试试

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧