我有一个指令,专注于我的应用程序中的字段。
专注指令
module.exports = function() {
return function(scope, elem, attr) {
debugger;
scope.$on('focusOn', function(e, name) {
if (name === attr.focusOn) {
elem[0].focus();
}
});
};
};
它适用于此输入字段:
<input type="text" focus-on="diameter" />
我可以在控制器中触发它:
$timeout(function() {
$rootScope.$broadcast('focusOn', field);
});
但是当我尝试在select元素上执行相同的操作时不起作用:
<select focus-on="type"
tabindex="{{item.layerId}}"
ng-options="materialType.id for materialType in presetData.materialTypes track by materialType.id"
ng-model="item.type"
ng-change="materialTypeChanged(item.type)">
</select>
为什么它不能处理我的select元素?