각 텍스트 영역이 포함 된 부트 스트랩 토글 가능 탭이 있습니다. 텍스트 영역이 포함 된 새 탭을 만들 수 있도록 설정했습니다. 그러나이 새 탭을 만들 때 커서 내부에있는 텍스트 영역을 커서로 지정해야합니다.포커스 새 탭의 텍스트 영역 부트 스트랩 3 + AngularJS
다음은 실제 문제를 나타내는 약간 큰 피들입니다. http://jsfiddle.net/HB7LU/1390/ 바이올린의 경우 첫 번째 항목을 만든 후에 텍스트 영역을 포커스해야합니다.
function ListController($scope, topics) {
var currentId = 0;
$scope.mainList = topics;
$scope.addItem = function() {
topics.push({
id: (currentId++),
active: "active",
name: $scope.newItem,
});
//clears input box
$scope.newItem = "";
//remove previous bootstrap active classes
$('ul.nav-pills li.active').removeClass('active');
$('.tab-content .tab-pane.active').removeClass('active');
//Can't get this part to work!!
//(the textareas have dynamic id's)
$('#textarea0').focus();
}
}
불편한 점은 버튼을 만들고 컨트롤러 외부에서 직접 초점을 맞추면 텍스트 영역에 집중할 수 있다는 것입니다. (바이올린에 예제가 있습니다.) 이것은 내가 실제로 만들어지기 전에 textarea에 초점을 맞추려고한다는 것을 알게한다. 그러나 나는 콜백 함수를 시도하고 그것도 작동하지 않는다. 아마도 그것을 망쳤을 것이다.
더 나은 각도 실습에 대한 귀하의 통찰력에 감사드립니다. Angular를 사용하기 시작한 것은 매우 유용한 답이었습니다. 이 솔루션의 유일한 문제점은 동적으로 텍스트 영역을 생성 할 때마다 $ ('textarea'+ currentId)를 사용하여 텍스트 영역을 선택해야하지만 currentId는 컨트롤러 내에서 범위가 지정된다는 것입니다. 나는 분명히 그것을 컨트롤러 밖으로 옮겨서 더 넓은 범위를 줄 수는 있지만, 그것은 나에게 잘못된 느낌을 주며, 아마도 최고의 pracitce가 아닙니다. 그 문제를 해결하는 더 나은, 각도 방법 있는가? – Chris
내가 당신을 따라 간다면'addItem'이'currentId'를 리턴 할 수 있습니다 - 당신의 지시어 내에서'querySelector()'에서 사용할 수있게 될 것입니다 – KayakDave
다음은 그 예입니다 : http://jsfiddle.net/HB7LU/1397/(currentId를 사용하지 않았지만 반환 된 값이 어떻게 나오는지 확인할 수 있습니다) – KayakDave