0

dojo/aspectandでキープレスイベントをキャプチャする方法はありaspect.afterますか?

マップ上にグラフィックスを描画するためのウィジェットを提供するサード パーティの Javascript API (ESRI JS API v3.4) を使用しています。draw toolbarウィジェットには、描画されたグラフィック オブジェクトの形状をパラメーターとして提供するイベントonDrawEndがあります。このウィジェットを使用してマップ上に描画しているときに、ユーザーがCTRLまたはキーを押したかどうかを判断する必要がありますが、描画イベントを接続するために使用します。SHIFTaspect.after(drawingToolbar, "onDrawEnd", myhandlerfunction, true)

キーが押されたかどうかを判断する方法を私が知っている唯一の方法は、eventオブジェクトを使用するaspectことですdojo/on

ここでキーが押されたかどうかを判断する方法はありますか?

4

2 に答える 2

1

キーイベントに追いつくには、別の方法に行かなければならないかもしれません。

これは、テキストボックスで「Enter」イベントをキャッチする方法です。Enter キーが押されると、関数 zoomToAnlage() が呼び出されます。このイベント リスナーが ini フェーズで既に読み込まれていることが重要です。確かに、これはあなたの質問の完全な解決策ではありませんが、おそらくそれを処理する方法を示しています.

    function initKielAnlagenNummernSuchen(){

    queryTaskAnlagenNummern = new esri.tasks.QueryTask(restServicesLocation + NameSearchService + "/MapServer/23");

    queryallAnlagenNummern = new esri.tasks.Query();
    queryallAnlagenNummern.returnGeometry = true;
    queryallAnlagenNummern.outFields = ["ANLAGE"];

    require(["dojo/keys","dojo/dom","dojo/on"], function(keys, dom, on){
        on(dom.byId("selectAnlagenNummer"), "keypress", function(evt){
            var charOrCode = evt.charCode || evt.keyCode;
            if (charOrCode == keys.ENTER) {
                zoomToAnlage();
            }
        });
    });

}

dojo/keys へのリンクは次のとおりです。 http://dojotoolkit.org/reference-guide/1.8/dojo/keys.html?highlight=keys#id2 よろしく、ミリアム

于 2013-06-24T08:25:30.777 に答える