Я новичок в TypeScript, так что извините за вопрос начинающего.jQuery таймер с использованием TypeScript
Я пытаюсь создать новый JQueryTimer в TypeScript и запустить его после нажатия клавиши. Я использую определения DefinitelyTyped jQuery и jQuery.timer.
Моего app.ts:
/// < reference path='references.ts'/>
module app {
function addKeyToString(e) {
$("body").timer(
function() {
console.log("This function just got called");
}, 10000, true
);
document.getElementById("typingSpan").innerText += e.char;
}
document.onkeypress = addKeyToString;
}
И мой index.html выглядит следующим образом:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>TypeScript HTML App</title>
<script src="lib/jquery/jquery.js"></script>
<script src="lib/jquery/jquery-ui.min.js"></script>
<script type="text/javascript" src="app.js"></script>
<script src="lib/jquery/jquery.timer.js"></script>
<link rel="stylesheet" href="app.css" type="text/css" />
</head>
<body>
<h1>TypeScript HTML App</h1>
WriteHere: <span id="typingSpan"></span>
</body>
</html>
Когда я пытаюсь начать это и нажмите клавишу я получаю сообщение об ошибке выполнения (в первая линия моей функции), которая говорит:
Объект не поддерживает свойство или метод «таймер»
Может ли кто-нибудь сказать мне, что является решением моей проблемы? Я проверил пример DefinitelyTyped и на основании этого должен работать. Вот ссылка: Link
В этом случае компилятор говорит свойство «Таймер» не существует на типе «JQueryStatic». Если я добавлю таймер: часть JQueryTimer из определения интерфейса JQuery jquery.timer.d.ts (а также удалить оттуда) к определению интерфейса JQueryStatic в jquery.d.ts, он решает проблему. Я не знаю, является ли это правильным способом использования этого таймера или только обходным путем. – bucicimaci