【问题标题】:Cant see variables from parent function in a callback在回调中看不到来自父函数的变量
【发布时间】:2013-09-30 07:21:05
【问题描述】:

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

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

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

【问题讨论】:

  • 所以将您的 scope 作为参数发送给您的调试器
  • 它应该可以工作,因为它是一个闭包变量

标签: javascript jquery angularjs angularjs-directive


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2012-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-03
    • 2023-01-31
    • 2019-02-22
    • 2018-04-14
    • 2021-12-12
    相关资源
    最近更新 更多