0

iOS6 のリリース後、サイトで使用してきたハイチャートの棒グラフが、iOS デバイスでのクリック イベントに応答しなくなりました。グラフは正しく表示されますが、内部のデータ ポイントをクリックしてもクリック関数は起動しません。

奇妙なことに、代わりに mouseOut イベントにアタッチされている場合、iOS でクリック時に関数が起動することを発見しました。IEevents: { mouseOut: function(){ //dosomething } }グラフ内のデータポイントを定義してクリックすると、iOS デバイスが機能を実行します。(類似のタッチ イベントがないため、これは常に iOS デバイスの mouseOut に当てはまる可能性があります。ただし、ポイントは、いくつかのイベントがこのコンテキストで発生することです。)

iOS 6 の Highcharts の基本機能をテストするために、フラットな HTML ページで非常に基本的なグラフのセットを作成しました。これは、データ ポイントに関連付けられたクリック イベントに対して期待どおりに機能するようです。

グラフ データの詳細を記載したコード (または Fiddle リンク) を投稿できることをうれしく思いますが、iOS 6 で Highcharts JS を使用してこのような問題を見た人が他にいるかどうかを知りたいと思っています。

あなたが提供できる洞察に感謝します。(前述したように、私たちのサイトが生成するオブジェクトとデータを使用して作成した基本的なグラフは、フラットな HTML ページからでも問題なく機能するように思われるため、コードが質問に答えるのにそれほど役立つとは思いません。しかし、喜んで誰かが結論に達するのに役立つと思う場合は、そのコードを投稿してください。)

4

1 に答える 1

1

他の誰かがこの問題に遭遇した場合に備えて、タッチ イベント用の JQuery プラグイン拡張機能 (jquery.ui.touch-punch) との競合が原因であることがわかりました。これは、JQ UI スライダーを動作させるために使用するものです。

また、Highcharts シリーズの設定でクリック イベントを許可することを明示的に有効にしましたが、これは以前は指定されていませんでした (ただし、クリック イベントは、他のすべてのブラウザーでは指定しなくても期待どおりに機能していました)。

タッチ イベント JQ を削除し、明示的なクリック設定を追加することで、問題が修正されました。

この特定のインスタンスがクリック ハンドラーに問題を引き起こす理由はよくわかりません (他の多くの要素で多くのクリック イベントを使用しています)。

これが他の誰かに役立つことを願っています。

于 2012-12-18T17:21:54.313 に答える