我有以下代码:
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);
我是唯一一个体验过这样的人吗?
答案 0 :(得分:2)
因为打字稿中存在错误。
尝试指定函数的返回类型,以使用jQuery.d.ts中的定义更改函数定义:
jqueryevent(handler: (eventObject: JQueryEventObject) => any): JQuery;
jqueryevent就像click,bind,ect。
您的定义可能是:
function submitSuccessAccess():void {
$(".accessLink")
.attr("data-disabled", "no");
window.location.reload();
}
可能你的调用上下文是这样的:
$(selector).click(function() {
submitSuccessAccess();
});
这是由这样的事情初始化的:
$(document).ready(function() {
initSubmitAccessFunction();
})
答案 1 :(得分:0)
您的功能的实际代码可能是:
function submitSuccessAccess(eventObject: JQueryEventObject) {
$(".accessLink")
.attr("data-disabled", "no");
window.location.reload();
}
如果您不想提供参数,可以更改jquery.d.ts文件中的相关行
(eventObject: JQueryEventObject) => any
到
(eventObject?: JQueryEventObject) => any
首先应该是这样的。