更新
TypeScript 1.5.3 added declarations for HTML Touch events to lib.d.ts
我可以看到它支持uievent,但似乎没有用于触摸事件的接口。
此代码指示“ToucEvices不存在于当前作用域中”。
class Touchy {
private _element:Element;
constructor(theElement:Element) {
this._element = theElement;
theElement.addEventListener("touchstart", (theTouchEvent:TouchEvent) => alert("touchy"));
}
}
我可以使用uievent,但不能使用touchevent。如何使用typescript处理touchEvent?谢谢。
最佳答案
这里有几种选择:
第一个选项:扩展uievent以拥有您在touch event上期望的成员(并且仅在touch事件侦听器中使用它们):
interface UIEvent {
targetTouches: { pageX: number; pageY: number; }[];
// etc...
}
第二个选项:定义自己的ToucEvices接口并在绑定事件时添加类型断言
interface TouchEvent {
(event: TouchEventArgs): void;
}
interface TouchEventArgs {
targetTouches: { pageX: number; pageY: number; }[];
// etc
}
theElement.addEventListener("touchstart", <UIEvent>((theTouchEvent:TouchEvent) => alert("touchy")));