/**
* @file 닫기 버튼.js
*/
'./버튼'에서 버튼 가져오기;
'./component'에서 컴포넌트 가져오기;
'키코드'에서 키코드 가져오기;
/**
* `CloseButton`은 다음과 같은 경우 `close` 이벤트를 발생시키는 `{@link Button}`입니다.
* 클릭됩니다.
*
* @extends 버튼
*/
클래스 CloseButton 확장 버튼 {
/**
* 이 클래스의 인스턴스를 만듭니다.
*
* @param {플레이어} 플레이어
* 이 클래스가 연결되어야 하는 `Player`.
*
* @param {객체} [옵션]
* 플레이어 옵션의 키/값 저장소.
*/
생성자(플레이어, 옵션) {
super(플레이어, 옵션);
this.controlText(옵션 && options.controlText || this.localize('닫기'));
}
/**
* 기본 DOM `className`을 빌드합니다.
*
* @return {문자열}
* 이 개체의 DOM `className`입니다.
*/
buildCSSClass() {
`vjs-close-button ${super.buildCSSClass()}` 반환;
}
/**
* 이것은 `CloseButton`이 클릭될 때 호출됩니다. 보다
* {@link ClickableComponent#handleClick}에 대한 자세한 정보는
* 이것이 발동됩니다
*
* @param {EventTarget~Event} 이벤트
* 이 함수를 실행하게 만든 `keydown`, `tap` 또는 `click` 이벤트
* 라고 불리는.
*
* @listens 탭
* @듣기 클릭
* @fires 닫기버튼#닫기
*/
handleClick(이벤트) {
/**
* 'CloseButton'을 클릭하면 트리거됩니다.
*
* @event 닫기버튼#닫기
* @type {이벤트대상~이벤트}
*
* @property {부울} [버블=거짓]
* 닫기 이벤트가 발생하지 않도록 false로 설정
* 듣는 사람이 없으면 부모에게 버블 업
*/
this.trigger({유형: '닫기', 거품: 거짓});
}
/**
* `CloseButton`이
* `키다운` 이벤트.
*
* 기본적으로 키가 Esc이면 '클릭' 이벤트가 트리거됩니다.
*
* @param {EventTarget~Event} 이벤트
* 이 함수를 호출한 `keydown` 이벤트.
*
* @listens 키다운
*/
handleKeyDown(이벤트) {
// Esc 버튼은 `click` 이벤트를 트리거합니다.
if (keycode.isEventKey(event, 'Esc')) {
event.preventDefault();
event.stopPropagation();
this.trigger('클릭');
} else {
// 지원되지 않는 키에 대한 키 누르기 처리를 전달합니다.
super.handleKeyDown(이벤트);
}
}
}
Component.registerComponent('닫기버튼', 닫기버튼);
기본 CloseButton 내보내기;