1

我有以下代码:

function submitSuccessAccess() {
    $(".accessLink")
        .attr("data-disabled", "no");
    window.location.reload();
}

我试图这样调用这个函数:

submitSuccessAccess();

但是,我在 submitSuccessAccess 下得到一条红色下划线:提供的参数与调用目标的任何签名都不匹配。似乎 submitSuccessAccess 期望:

(eventObject: JQueryEventObject) => any

我找到了一个临时解决方案。我定义和使用如下:

function submitSuccessAccess(any) {
    $(".accessLink")
        .attr("data-disabled", "no");
    window.location.reload();
}
submitSuccessAccess(null);

只有我一个人经历过这样的事情吗?

4

2 回答 2

2

由于打字稿中的错误。

尝试指定函数的返回类型以使用 jQuery.d.ts 中的定义更改函数定义:

jqueryevent(handler: (eventObject: JQueryEventObject) => any): JQuery;

jqueryevent 就像点击,绑定等。

您的定义可能是:

function submitSuccessAccess():void {
    $(".accessLink")
        .attr("data-disabled", "no");
    window.location.reload();
}

可能你的调用上下文是这样的:

$(selector).click(function() {
    submitSuccessAccess();
});

它是由这样的东西初始化的:

$(document).ready(function() {
    initSubmitAccessFunction();
})
于 2012-12-06T10:27:03.173 回答
0

您的函数的实际代码可能是:

function submitSuccessAccess(eventObject: JQueryEventObject) {
    $(".accessLink")
        .attr("data-disabled", "no");
    window.location.reload();
}

如果您不喜欢提供参数,您可以更改 jquery.d.ts 文件中的相关行

(eventObject: JQueryEventObject) => any

(eventObject?: JQueryEventObject) => any

一开始它可能应该是这样的。

于 2012-10-30T19:40:08.580 回答