gpt4 book ai didi

TypeScript 拒绝允许 jQuery 'on' 接线

转载 作者:搜寻专家 更新时间:2023-10-30 21:54:37 25 4
gpt4 key购买 nike

我现在在我的网站上使用 Typescript,但在处理特定的 jQuery 事件时遇到困难。

为了举例,我将我的代码缩短为只包含相关部分;我有这样的设置...

var elements = {
wizard: {}
};

elements.wizard.wizard({ // initialization behavior // });
elements.wizard.on('step-shown', function(e){
// do some stuff here
});

向导是这样声明的;

(function ($) {
$.fn.wizard = function(options) {
// behavior of wizard plugin
}
})(jQuery);

然后我有了它的 Typescript 定义 ...

interface JQuery {
Wizard(options);
}

我能够实际连接向导本身,但这不是我的问题。问题出在 on 部分,它表示 property 'on' does not exist on type '{}'。不过,我不确定如何处理。有人可以帮忙吗?

最佳答案

您没有声明 JQuery.Wizard 类型的向导变量。

在你的代码中

var elements = {
wizard: {}
};

elements.wizard.wizard({ // initialization behavior // });
elements.wizard.on('step-shown', function(e){
// do some stuff here
});

Wizard 被实例化为一个空对象 {},因此它没有方法或变量。这就是您收到错误的原因。

与其将其键入为 any 或自定义类型,只需将其键入 JQuery.Wizard 类型即可。

var elements = {
wizard: <JQuery.Wizard>{}
};

elements.wizard.wizard({ // initialization behavior // });
elements.wizard.on('step-shown', function(e){
// do some stuff here
});

我在 this example 上演示了该行为.

关于TypeScript 拒绝允许 jQuery 'on' 接线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21291642/

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