1
누군가 폼의 입력 필드를 통해 언제든지 페이지를 위아래로 스크롤하려고합니다. 사용자가 탭을 통과 할 때 현재 포커스가있는 입력 요소가 페이지 중앙에 세로로 가운데에 배치되기를 원합니다. 나는 이것에 대한 지시문을 썼지 만, 기대했던 것처럼 작동하지 않습니다. , 또한, 사용 elem.prop (....)입력 필드의 초점이 중간에 페이지를 스크롤하는 방법
누군가 폼의 입력 필드를 통해 언제든지 페이지를 위아래로 스크롤하려고합니다. 사용자가 탭을 통과 할 때 현재 포커스가있는 입력 요소가 페이지 중앙에 세로로 가운데에 배치되기를 원합니다. 나는 이것에 대한 지시문을 썼지 만, 기대했던 것처럼 작동하지 않습니다. , 또한, 사용 elem.prop (....)입력 필드의 초점이 중간에 페이지를 스크롤하는 방법
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.name = 'World';
});
app.directive('formScroll', formScroll);
function formScroll($window) {
return {
link: function(scope, elem) {
elem.bind('focus', function() {
var offset,
elOffset = elem.prop('offsetTop'), //.offset().top,
elHeight = elem.prop('height'), //elem.height(),
windowHeight = $window.innerHeight;
offset = elOffset - ((windowHeight - elHeight)/2);
$window.scrollTo(0, offset);
});
}
}
}
angular
.module('app')
.directive('formScroll', formScroll);
function formScroll($window) {
function link(scope, elem) {
elem.bind('focus', function() {
var offset,
elOffset = elem.offset().top,
elHeight = elem.height(),
windowHeight = $window.innerHeight;
offset = elOffset - ((windowHeight - elHeight)/2);
$window.scrollTo(0, offset);
});
}
}
나는 객체 {... 링크}를 반환하는 formScroll 기능을 수정 내가 기대하는 것처럼 일하지 않습니까?
당신이 정교한 시겠어요 * 아무튼 ' –