我创建了一个AngularJS应用程序,当您在输入框中键入多个字符时,该应用程序会过滤输入框下的列表。这个输入框位于页面的中间,我希望当用户输入时它能跳到页面的顶部。我不知道如何实现这一点。我是jquery和Angular的新手,所以任何帮助都将不胜感激
尝试这个
$('html, body').animate({ scrollTop: 0 }, 'slow');
每当用户键入监视事件时转到页面顶部
$scope.watch('mg-model',function(val){
};)
当val为null或为空时,文本框中的任何div id都将被包装并动画化
我会为您的输入字段创建一个指令。类似这样的东西:
.directive('query', function() {
return {
restrict:"A",
replace: true,
template: "<input type='text' ng-model='query'>",
link: function(scope, elem) {
elem.bind('input', function() {
elem.css({'top':'10px','position':'fixed'});
});
}
}
});
然后,您可以将<div query></div>
粘贴到原始输入字段所在的任何位置。我测试了它,它对我来说效果很好。指令是像这样进行DOM操作的角度方法。祝你好运。