gpt4 book ai didi

javascript - 如何将事件从 VB.Net 类库/用户控件 (ActiveX) 提升到 JavaScript?

转载 作者:行者123 更新时间:2023-11-29 15:54:17 25 4
gpt4 key购买 nike

我创建了一个带有 UserControl 的 VB.Net ClassLibrary。我可以从 HTML 页面加载它并调用我创建的方法。这按预期工作。我已经尝试了几个示例来说明如何从 VB 代码向 js 调用者引发事件,但它们似乎都不起作用(我使用的是 IE7)。

我在做什么:

Public Class ctrlABC
Public Event TestEvent()

然后当我想引发这个事件时,我调用:

RaiseEvent TestEvent()

在我的 JS 文件中,我尝试了以下操作:

<OBJECT id="myControl1" name="myControl1" classid="ABC.dll#ABC.ctrlABC" width=400 height=400></OBJECT>

<SCRIPT LANGUAGE=javascript FOR=myControl1 EVENT=TestEvent>
myControl1_TestEvent()
</SCRIPT>

<script>
function myControl1_TestEvent(){
alert("raised");
}
</script>

==================然后我试了===================

<OBJECT id="myControl1" name="myControl1" classid="ABC.dll#ABC.ctrlABC" width=400 height=400></OBJECT>

<script>
function myControl1::TestEvent(){
alert("raised");
}
</script>

===========================

但似乎都没有得到事件。有人有什么想法吗?

谢谢!

最佳答案

我没有像那样使用过 ,所以我不能确定,但​​我希望您像 Javascript 中的常规事件一样声明事件处理程序。

在元素属性中:

<object id="myControl1" .... onTestEvent="functionName"></object>

或作为对象中的函数:(可能不是正确的术语)

document.getElementById("myControl1").onTestEvent = functionName

或者使用事件注册函数: document.getElementById("myControl1").addEventListener("TestEvent", functionName, false);

(这些是特定于浏览器的,这个是针对 firefox 的,其他的不确定)

这些“functionName”中的每一个都是您在 中声明的函数。

可能想看看Quirksmode - Advanced event registration

关于javascript - 如何将事件从 VB.Net 类库/用户控件 (ActiveX) 提升到 JavaScript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/912683/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com