无法在回调中查看父函数的变量

时间:2013-09-30 07:21:05

标签: javascript jquery angularjs angularjs-directive

我正在尝试编写一个处理“Enter”点击的指令,这是我的代码:

directive('onEnter', function() {
    return {
        link:   function(scope, element, attrs) {
                    element.keyup(function(e) {
                        if(e.keyCode == 13) {
                            debugger;
                        }
                    });
                }
    }
});

问题是在回调内部(调试器所在的位置),我无法访问范围,元素和attrs。 有什么帮助吗?

1 个答案:

答案 0 :(得分:2)

感谢Arun P Johny,我发现了这个问题。 显然,如果你不在回调中使用变量,一些JS优化(在chrome和firefox上测试,这个问题在firefox中不会发生)不会将变量传递给回调。
因为,在我的例子中,我放了一个调试器并且没有使用任何变量(范围,元素,attrs)JS只是没有传递它们。
感谢。