看这个Fiddle。
<input type="number" value="1" min="1" step="1" ng-focus="logFocus()"/>
单击输入的步骤箭头时,焦点将记录在Chrome / Safari / Opera(未选中IE)中,但在Firefox上则什么也没有发生。
我错过了什么吗?
最佳答案
由于FF中的箭头未附加到输入元素,但已附加到文档主体,因此Onfocus事件不会在您的情况下触发。
看一下这个测试代码:
html->
<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->
$(document).ready(function () {
$(document).click(function (e) {
console.log($(document.activeElement));
});
});
在chrome中运行此代码并触摸箭头后,我在控制台中得到以下元素:
[input#test1, context: input#test1]
但是当我在FF中运行此代码时,我得到以下元素->
Object { 0: <body>, context: <body>, length: 1 }
如您所见,当您单击箭头时,焦点将移至其容器(在FF中为主体)。因此,您的活动无效。
链接到JsFiddle。
关于javascript - ngFocus在Firefox上受到攻击?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31772147/