看看这个Fiddle。
<input type="number" value="1" min="1" step="1" ng-focus="logFocus()"/>
点击输入的步骤箭头时,焦点会记录在Chrome / Safari / Opera中(尚未检查IE),但在Firefox上没有任何反应。
我是否遗漏了某些内容或者是否存在错误?
答案 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。