我的角度应用程序中有一个简单的文本输入字段,预先填入默认值。我想在页面加载时预选文本。
输入字段:
<input type="text" ng-model="city" class="form-control" select-on-load />
指令:
weatherApp.directive('selectOnLoad', function () {
// Linker function
return function (scope, element, attrs) {
element.bind('load', function () {
this.select();
});
};
});
但没有任何反应。
答案 0 :(得分:0)
this question的答案表明输入元素没有load
个事件。但是,也许你可以在view content has loaded?
$scope.$on('$viewContentLoaded', function(){
// Set a flag
});
它不像指令那样整洁,但它是我所知道的最简单的替代品。该事件设置了一个标志,该元素使用ng-focus
取决于该标志,并且您的原始指令可以更新以监听焦点,而不是加载。
答案 1 :(得分:0)
答案 2 :(得分:-1)
试试这个。
function selectOnLoadDirective() {
return {
link: function(scope, elem) {
elem.focus().select();
}
};
}