하나의 열에 간단한 사용자 정의 레이블 itemrenderer가있는 adobe flex DataGrid가 있습니다. itemrenderer를 클릭하면 서비스 호출이 발생하는 cairngorm 이벤트가 발생하고 서비스 호출의 데이터는 TitleWindow를 채 웁니다.Adobe Flex 이중 클릭 방지
doubleClickedEnabled 속성을 false로 설정 했더라도 항목 렌더러를 두 번 클릭하여 두 개의 서비스 호출을 만들고 두 개의 TitleWindow를 표시 할 수 있습니다. 다른 경우에는 트리플 클릭이 원하지 않는 결과를 유발하는 것 같습니다.
이런 종류의 동작을 방지 할 수있는 방법이 있습니까?
나는이 서비스를 모든 서비스 호출로 확장 할 수 있기 때문에이 방법을 정말 좋아한다. 서비스 호출이있을 때마다 lastTime, 메서드 및 서비스를 저장하는 바인딩 가능한 ServiceModel 싱글 톤을 만들었습니다. 그런 다음 serviceModel 매개 변수 (lastTime, method, service)를 현재 서비스 호출에 대해 확인하도록 baseDelegate를 수정했습니다. 동일한 메소드 및 서비스 이름과 시간이 500ms 미만인 경우에는 처리하지 않습니다. 이 문제에 대해 알려 주시겠습니까? – JonoB
@ JonoB, 루프에서 동일한 서비스 메소드를 호출하는 합법적 인 이유가있는 경우 문제가 될 수 있습니다. 250ms 이내에 링크를 여러 번 클릭하는 합법적 인 이유가있는 사용자와 대조하면 이벤트 처리기에서 이렇게하는 것이 더 좋을 것 같습니다. –
동일한 클라이언트에서 250 ~ 500ms 이내에 같은 서비스 요청을 한 경우는 발생하지 않습니다. 있다면, 아마 그 오류! 확실히 루프에는 서비스 호출이 없습니다. 나 또한 내 애플 리케이션에 많은 장소에서 이러한 단일 클릭 링크가 있고 wouldnt 정말 가서 그들 각각에 대한 이벤트 처리기를 만들고 싶어. – JonoB