【发布时间】:2012-12-29 18:12:32
【问题描述】:
我对事件有疑问。
我创建了两个接口:
export interface IEEvent extends JQueryEventObject, MSEventObj {
preventDefault: () => void;
cancelBubble: bool;
}
export interface IEElement extends HTMLElement {
click: (event?: IEEvent) => void;
onmousedown: (event?: IEEvent) => void;
onmousemove: (event?: IEEvent) => void;
onmouseup: (event?: IEEvent) => void;
}
我尝试设置 onmousedown\move\up 道具,但出现错误...
public static StopPropagation(element: HTMLElement): void {
(<IEElement> element).onmousedown = StopPropagationHandler; // error here
(<IEElement> element).click = StopPropagationHandler; // error here
(<IEElement> element).onmouseup = StopPropagationHandler; // error here
}
private static StopPropagationHandler(e?: IEEvent): void {
if (typeof (e) === "undefined") {
e = <IEEvent> window.event;
}
if (typeof (e.preventDefault()) !== "undefined") { // error here
e.preventDefault(); // error here
}
e.cancelBubble = true;
}
如何摆脱这些错误?
【问题讨论】:
-
你在哪里调用
StopPropagation函数?我认为您的问题确实存在,因为您没有传递有效的元素。
标签: javascript events typescript