我创建了一个带有 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>
===========================
但似乎都没有得到事件。有人有什么想法吗?
谢谢!
最佳答案
我没有像那样使用过
在元素属性中:
<object id="myControl1" .... onTestEvent="functionName"></object>
或作为对象中的函数:(可能不是正确的术语)
document.getElementById("myControl1").onTestEvent = functionName
或者使用事件注册函数:
document.getElementById("myControl1").addEventListener("TestEvent", functionName, false);
(这些是特定于浏览器的,这个是针对 firefox 的,其他的不确定)
这些“functionName”中的每一个都是您在
中声明的函数。关于javascript - 如何将事件从 VB.Net 类库/用户控件 (ActiveX) 提升到 JavaScript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/912683/