在TypeScript中使用$(document)
会出现错误Supplied parameters do not match any signature of call target.
我正在使用TypeScript 3.1,jQuery 3.3.1和@ types / jQuery 3.3.29。
$(document)
是否已弃用,我应该使用其他方法还是类型定义文件中的错误?
编辑: 此TypeScript文件的整个主体基本上是“ Hello World!”。
$(document).ready(() => {
console.log("Hello World!");
});
答案 0 :(得分:2)
private updateURL(date: Date){
this.props.history.replace(`/?date=${formatDate(date)}`);
}
有两个功能等效的变体,第一个是$(document).ready(handler)
,第二个是直接的$().ready(handler)
。
在jQuery 3.0中,不建议使用前两个,仅保留$(handler)
。官方的理由是:
这是因为选择与
$(handler)
方法的行为无关,效率低下并且可能导致对该方法行为的错误假设。
TypeScript定义文件只是不包含不建议使用的语法,为了向后兼容,该语法仍然有效。您的脚本应如下所示:
.ready()