Firefox上的ngFocus Bugged?

时间:2015-08-02 13:02:29

标签: javascript angularjs firefox

看看这个Fiddle

<input type="number" value="1" min="1" step="1" ng-focus="logFocus()"/>

点击输入的步骤箭头时,焦点会记录在Chrome / Safari / Opera中(尚未检查IE),但在Firefox上没有任何反应。

我是否遗漏了某些内容或者是否存在错误?

1 个答案:

答案 0 :(得分:1)

Onfocus事件不会在您的案例中触发,因为FF中的箭头未附加到输入元素,但它们附加到文档正文。

看看这个测试代码:
html - &gt;

<div class="test">
    <input type="number" min="1" step="1" value="1" id="test1" />  <br>
    <input type="number" min="1" step="1" value="1" id="test2" /> 
</div>

Jquery - &gt;

$(document).ready(function () {
    $(document).click(function (e) {
       console.log($(document.activeElement));
    });
});

在chrome中运行此代码并触摸箭头后,我在控制台中获得了以下元素:

[input#test1, context: input#test1]

但是当我在FF中运行此代码时,我得到以下元素 - &gt;

Object { 0: <body>, context: <body>, length: 1 }

正如您所看到的,当您单击箭头时,焦点将转到其容器(在FF中,这是正文)。因此,您的活动无效。

链接到JsFiddle