AngularJS指令的元素有时在Firefox中没有定义

时间:2014-08-08 20:03:00

标签: javascript angularjs firefox

我一直得到这个奇怪的错误,这似乎只发生在Firefox上:我有一个元素标记,比如说<directive-element></directive-element>以及以下指令:

app.directive('directiveElement', function()
{
    return {
        restrict: 'E',
        template: '<input type="text" />',
        link: function(scope, element, attrs)
        {
            element.on('focus', function()
            {
                // Do something with element
                // for instance, call element.scrollLeft();
            });
        }

    }
})

每隔一段时间,Firefox就会抛出一个错误,说无法在null上调用scrollLeft()。我试过控制台记录element本身,它是一个Angular元素,但长度为0.

我不明白这是一个问题,因为input,所有绑定都被注入ONCE angular找到指令<directive-element />。因此,如果我能看到输入,那意味着Angular会产生它。那么为什么元素不可用?

这可能是什么原因?这似乎很随机。我所要做的就是刷新我一遍又一遍的页面,最终会发生这种情况(即除了刷新之外我没有做任何其他事情,有时我可以犯这个错误)。这只是在Firefox上。

0 个答案:

没有答案