1

我在课堂上有一个焦点绑定。我试过jQueryunbind方法。似乎不起作用。

这只是一个例子:

<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);
        }
    }
}
4

1 回答 1

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/ <- 你可以看到日志

http://jsfiddle.net/basarat/su7JW/11/ <- 没有记录

唯一的区别是第二小提琴中的调用MyClass.unbindInput();。JS 是从TS Playground生成的

于 2013-05-08T06:42:29.390 回答