【发布时间】:2009-09-21 16:58:49
【问题描述】:
我已经在 SO 上看到了一些与此相关的问题,但我认为我的问题完全不同,不会被视为重复(如果我错了,请告诉我)。
我有一个用 C# 编写的 ActiveX 控件,虽然它大部分时间都在工作,但我想在单击它时在 JavaScript 中引发一个事件(它显示一个图像,因此它是页面上的一个可视元素)。
我想要完成的最终目标与它是一个 <span> 标记并没有什么不同,它有一个 onclick 事件以在单击标记区域时引发一个 JavaScript 函数。
上面的大部分stuff I've read 都非常详细地介绍了如何处理ActiveX 控件中的事件以及来回发送信息,这很好,但似乎过于复杂。我不想与 ActiveX 控件进行通信,我只需要一个 JavaScript 函数在我单击它时触发它,其方式类似于 <span> 或 <div> 标记。我可以处理 JavaScript 中的所有其他内容。简单地将控件包装在 <span> 或 <div> 中并带有 onclick 事件没有任何效果 - ActiveX 控件几乎会覆盖它。
对于用 C# 编写的 ActiveX 控件,是否有一种简单的方法来处理这个问题?
我想另一种说法是 - 我正在使用第三方控件,我们必须使用类似于以下的代码来让它通过 JavaScript 与我们的 HTML 页面进行通信
<script type="text/javascript" event="OnMouseClick(index)" for="AXObjectName">
<!--
AXObjectName_OnMouseClick(index);
//-->
</script>
AXObjectName 是控件的名称/ID,AXObjectName_OnMouseClick 是它将在我的代码中触发的 JavaScript 函数的名称,传递一个 index 参数。但是,我需要做什么才能在控件中设置像OnMouseClick 这样的方法?如果我不想传递任何实际信息(即没有index),我什至必须走这么远吗?
【问题讨论】:
-
我猜你已经看过这个代码示例:c-sharpcorner.com/UploadFile/dsandor/…
-
我实际上只是包含了链接,以便可以在我的另一台计算机上找到它。我将自己尝试一个 ActiveX 控件实验,也许会弄清楚事件的事情。它看起来相对简单。
-
@MusiGenesis:是的,它是我跟随的其中之一。但是,它没有展示与 ActiveX 控件交互如何对页面中的 JavaScript 产生任何影响。