3

Kendo Mobile で Web アプリケーションを開発し、Drawer ウィジェットをメニューとして使用しています。私のビューの 1 つは Google マップです。明らかな理由から、このビューでは Kendo Mobile の Drawer のスワイプして開く機能を無効にしたいと考えています...

私は次のことを試しました:

Drawer の beforeShow イベントにバインドする

...そして、現在のビューがマップ ビューの場合は開かないようにします

    beforeShow: function (beforeShowEvt) {
        if(app.view().id == "#stationMap") {
            beforeShowEvt.preventDefault();
        }
    }

これに関する問題は、トップバーのメニューボタンをクリックするとトリガーされる (そして引き出しが開かないようにする) ことです。

beforeShowEvt を調べたところ、メニュー クリックによるスワイプでトリガーされたかどうかを知らせるものが見つからないようです。

div を含む Google マップにバインドする

...そして、タッチスタート イベントをキャッチして、それらが伝播し、剣道によって拾われるのを防ぎます。

これはまったく機能していません。

4

2 に答える 2

2

私の問題を解決した方法は次のとおりです。

  1. dragstartフラグを true に設定するイベント ハンドラを Google マップのイベントに追加しました

  2. touchstartこのフラグを false に設定する Drawer ボタンのイベントにイベント ハンドラーを追加しました。

  3. Drawer の beforeShow イベントにチェックを追加して、フラグがtrueであるかどうか、I であるかどうかを確認しました。preventDefault();

魔法のように動作します!

于 2013-09-23T21:14:38.743 に答える