typescript jquery focusin unbind事件不起作用

时间:2013-05-08 06:26:38

标签: javascript jquery typescript

我在一个类中有一个focusin绑定。我尝试过jQuery unbind方法。似乎不起作用。

这只是一个例子:

<html>
    <body>
        <input type="text"/>
    </body>
</html>

module TheClass {
    export class MyClass {
        private static focusHandler = () => { console.log("hello from log"); };

        public static bindInput() {
            $("input").bind("focusin", MyClass.focusHandler);
        }

        public static unbindInput() {
            $("input").unbind("focusin", MyClass.focusHandler);
        }
    }
}

1 个答案:

答案 0 :(得分:2)

工作得很好:

module TheClass {
    export class MyClass {
        private static focusHandler = () => { console.log("hello from log"); };

        public static bindInput() {
            $("input").bind("focusin", MyClass.focusHandler);
        }

        public static unbindInput() {
            $("input").unbind("focusin", MyClass.focusHandler);
        }
    }
}
// Call both functions and it works:
TheClass.MyClass.bindInput();
TheClass.MyClass.unbindInput();
// i.e. nothing in the log. 
// Remove the second and I can see the log

也许叫两个功能?

比较:

http://jsfiddle.net/basarat/su7JW/10/&lt; - 您可以看到日志

http://jsfiddle.net/basarat/su7JW/11/&lt; - 没有记录

唯一不同的是第二小提琴中对MyClass.unbindInput();的调用。 JS是从TS playground

生成的