'::'(双冒号)在javascript中为事件做什么?

spr*_*boy 8 javascript jscript

我看到了这段代码,我正在试图决定它是如何工作的.

<SCRIPT LANGUAGE=javascript> 

     function SpeechMikeControl::SPMEventButton(lDeviceID, EventId) {
        alert("lDeviceID=" + lDeviceID + ", EventId=" + EventId);
     }

</SCRIPT>
Run Code Online (Sandbox Code Playgroud)

双结肠?这是从网页上使用飞利浦语音麦克风.

知道这个双冒号是什么意思吗?对我来说这似乎是一个语法错误,但它确实有效!(至少在IE中).

Álv*_*lez 7

我已经能够在Microsoft Office Infopath 2003的一些扫描手册中找到一个模糊的参考.它似乎是一种JScript语法:

双冒号用作脚本ID和事件名称之间的分隔符

我的猜测是,它不是Internet Explorer的ECMAScript实现的一部分(或不再是其中的一部分),但它属于(或曾经属于)Microsoft Office的实现.


小智 6

这是Microsoft实现的Javascript语言的扩展.它的目的是为页面上引用的COM对象指定事件处理程序. SpeechMikeControl是COM(和/或ActiveX)对象的全局范围名称:

  • 与一个OBJECT或一些其他元素,具有id属性SpeechMikeControl,或
  • SpeechMikeControl以前在Javascript中声明的全局变量

SPMEventButtonSpeechMikeControl在谁知道什么情况下由对象引发的COM事件的名称.

双冒号是将函数体作为处理程序连接到控件事件的指令.