gpt4 book ai didi

javascript - 在 Silverlight 中如何附加到 ScriptObject 上的事件?

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

HtmlObject 提供了所有必要的功能来为脚本和 DOM 事件注册托管事件处理程序,但是如果您需要监听的类不作为 DOM 元素存在,而是一个脚本变量(通过 ScriptObject 引用),该怎么办?

最佳答案

javascript 对象不支持附加事件的概念。然而,它可能支持一个属性的概念,该属性持有对函数的引用,如果分配,将在特定点调用该函数。

我猜你有这样的对象吧?

如果是这样,您使用 ScriptObject SetProperty 方法使用应包含对函数的引用的属性的名称,并且托管方法的委托(delegate)与 Javascript 对象将调用的签名相匹配。

注意以下内容此时未经测试,但应该会让您走上正确的道路。

//Javascript in web page.
var myObj = new Thing();

function Thing()
{
this.doStuff = function()
{
if (this.onstuff) this.onstuff("Hello World");
}
}

// C# code in a Silverlight app.

class SomeClass
{
private ScriptObject myObject;
public SomeClass(ScriptObject theObject)
{
myObject = theObject;
myObject.SetProperty("onstuff", (Action<string>)onstuff);
}

function void onstuff(string message)
{
//Do something with message
}

}

关于javascript - 在 Silverlight 中如何附加到 ScriptObject 上的事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/399572/

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