2012-11-28 4 views
0

iOS6이 출시 된 후 Google 사이트에서 사용한 하이 차트 막대 그래프가 iOS 장비의 클릭 이벤트에 응답하지 않게되었습니다. 그래프가 올바르게 렌더링되지만 클릭 기능은 데이터 포인트를 클릭 할 때 간단히 실행되지 않습니다.HighchartsJS iOS 6의 클릭 이벤트

이상하게도, 나는 그것이 mouseOut 이벤트에 붙어있는 경우 함수가 대신 아이폰 OS에서 클릭에 불을한다는 것을 발견했다. I.E. events: { mouseOut: function(){ //dosomething } }을 정의한 다음 그래프에서 데이터 점을 클릭하면 iOS 기기가 해당 기능을 수행합니다. (유사한 터치 이벤트가 없기 때문에 iOS 장치 mouseOut의 경우 항상 가능할 수 있지만이 컨텍스트에서는 일부 이벤트가 실행된다는 것이 중요합니다.)

매우 기본적인 세트를 만들었습니다. 평면 HTML 페이지의 그래프를 사용하여 iOS 6의 Highcharts의 기본 기능을 테스트합니다. 이는 데이터 요소에 첨부 된 클릭 이벤트에 대해 예상대로 작동하는 것 같습니다.

그래프 데이터의 특성과 함께 코드 (또는 피들 링크)를 게시하게되어 기쁩니다. 그러나 Highcharts JS가있는 iOS 6에서 다른 사람이 이와 같은 문제를 겪었는지 더 알고 싶습니다.

당신이 제공 할 수있는 어떤 통찰력이라도 많이 고맙습니다. (내가 말했듯이, 사이트에서 생성 한 객체와 데이터를 사용하여 만든 기본 차트는 평면 HTML 페이지에서 제대로 작동하는 것 같아서 코드가 질문에 답하는 데별로 도움이되지 않을 것이라고 생각합니다. 그 사람이 결론에 도달하는 데 도움이된다고 생각하는 사람은 그 코드를 게시하십시오.)

답변

1

다른 누구나이 문제가 발생하는 경우 터치 이벤트 용 JQuery 플러그인 확장 (jquery.ui.touch- 펀치), 이는 우리가 JQ UI 슬라이더를 작동 시키는데 사용하는 것입니다.

또한 명시 적으로 (클릭 이벤트가 다른 모든 브라우저에서 그것없이 예상대로 작동하고 있지만) 이전에 지정되지었던 Highcharts 시리즈 설정에서 클릭 이벤트를 할 수있었습니다.

터치 이벤트 JQ를 제거하고 명시 적 클릭 설정을 추가하면이 문제가 해결됩니다.

Highcharts 소스 코드 자체에서 터치 이벤트를 처리하려는 시도가 있지만이 특정 인스턴스가 클릭 핸들러에 문제를 일으키는 이유는 분명하지 않습니다. 우리는 다른 핸들러에서 많은 클릭 이벤트를 사용합니다.

다른 사람에게 도움이되기를 바랍니다.