문제

R 행 편집 그리드에서 레코드를 추가하고 제거하는 그리드 패널의 맨 아래 도구 모음에 몇 가지 버튼이 있습니다.

핸들러는 꽤 간단합니다. "New"버튼 모델의 인스턴스를 작성하고 그리드에 추가 한 다음 새 행에서 행 편집기를 엽니 다. "편집"버튼이 선택한 행의 행 편집기를 엽니 다. "제거"가 저장소에서 레코드를 파괴하고 그리드보기를 새로 고칩니다.

어떤 이유로이 버튼이 초점을 맞출 때 테두리를 제공하는 초점 클래스를 잃지 않습니다. 그림이 있습니다 :

여기에 이미지 설명

"New"버튼과 "제거"버튼 모두 초점 클래스가 있으므로 "편집"버튼을 누르면 완전한 행 편집 작업을 수행 한 후에도 포커스 클래스가 유지되고 행을 닫습니다. -

나는 이것들 중 하나에 영구적으로 "집중적 인"버튼을 누른 다음 마우스 업 그과 마우스 업을 클릭 한 다음 초점 클래스가 사라지는 것을 클릭합니다.

나는 각각의 컨트롤러의 모든 버튼 구성 요소에 대한 흐림 핸들러를 넣을 수 있지만이 기능이 이루어 지도록 지어 졌다고 생각했을 것이라고 생각했을 것입니다.

그것이 놓아주지 않을 클래스는 다음과 같습니다.

x-focus x-btn-focus x-btn-default-toolbar-small-focus

Windows 7의 FF10에서 ExtJS 4.1.0이지만 ExtJS 4.02 및 4.07에서 유사한 동작을 알아 보았습니다. 지금까지 처리 할 필요가 없었습니다.

도움이 되었습니까?

해결책

나는 그것이 무엇인지 알아 냈습니다 :

이 버튼 각 버튼의 핸들러 체인의 어느 시점에서 버튼이 비활성화됩니다.Extjs에서 버튼이 비활성화되면 blur 이벤트가 실행되지 않습니다.

버튼을 비활성화해야하므로 핸들러에 button.blur()를 추가하는 솔루션이 올바른 방법으로 이동하는 것이 올바른 방법이었습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top