3
화살표 키를 사용하여 다음 항목으로 집중하고 싶습니다.
keydown 이벤트 처리기에서 나는 event.currentTarget.nextSibling
을 사용하여 다음 항목에 액세스합니다.
다른 방법으로이 작업을 수행 할 수 있습니까?
이벤트 처리기에서 JQuery를 사용하여이 작업을 수행하려고합니다. 이 작업을 수행하는 방법?Angular2의 다음 항목으로 이동/초점을 맞추는 방법은 무엇입니까?
@Directive({
selector : '[myFocus]'
})
class MyFocus {
constructor(public renderer: Renderer, public elementRef: ElementRef) {}
@Input()
set myFocus(value :boolean) {
if(value) {
this.renderer.invokeElementMethod(
this.elementRef.nativeElement, 'focus', []);
}
}
}
를 추가 true
의 입력 값이 변경 될 때 호스트 요소에 focus()
를 호출
<ul>
<li *ngFor = "let work of works" tabindex="-1"
(keydown.ArrowDown)="handleKeyEvent($event, 'Arrow Down')">
<div class="guide-label">
<div>{{work.cd}}</div>
<div>{{work.name}}</div>
</div>
</li>
</ul>
export class WorkComponent {
...
handleKeyEvent(event: Event): void {
event.currentTarget.nextSibling.focus();
event.preventDefault();
}
}
나는'handleKeyEvent' 처리기에서'idx' 액세스 할 수 있을까요? – niaomingjian
'(keydown.ArrowDown) = "handleKeyEvent ($ event, 'Arrow down', idx)를 따라 전달할 수 있습니다." –
다음'li' 태그를 탐색 할 때이'li의 스타일을 변경하고 싶습니다 '태그와 이전의'li' 태그. 이것을 처리하기 위해'this.elementRef.nativeElement'를 사용할 수 있습니다. 제 의견으로는,이 방법은 간결하지 않습니다. 이것을 달성하기 위해 JQuery를 사용할 수 있습니까? – niaomingjian