0

私のページでは、bing マップを使用していますが、問題があり、何度か試しても解決できません。

function getMap() {

    map = new Microsoft.Maps.Map(document.getElementById('myMap'), {
        credentials: 'XXXX',
        showMapTypeSelector: false,
        enableSearchLogo: false
    });

    Microsoft.Maps.Events.addHandler(map, 'keydown', function (e) {
        if (e.keyCode === 40) {
            e.handled = true;
            return false;
        }
    });

    Microsoft.Maps.Events.addHandler(map, 'keyup', function (e) {
        if (e.keyCode === 38) {
            e.handled = true;
            return false;
        }
    });

    addPushpins();
}

そのページで、矢印キーが Bing マップにハイジャックされ、ページをスクロールできなくなっていることに気付きました。その bing マップのスクロールを回避するために、キーアップとキーダウンの 2 つの関数を追加しました。

その後、キーダウンを押すと、メインページがスクロールし、正常に動作しています。

しかし、キーアップ矢印を押すと、bing マップのみがスクロールされます。誰でもこの問題を解決するのを手伝ってくれます。

4

1 に答える 1

4

答えが見つかりました。「keyup」を「keydown」に置き換えてください。

function getMap() {

    map = new Microsoft.Maps.Map(document.getElementById('myMap'), {
        credentials: 'XXXX',
        showDashboard: false
    });

    Microsoft.Maps.Events.addHandler(map, 'keydown', function (e) {
        if (e.keyCode === 40 || e.keyCode === 38) {
            e.handled = true;
        }
    });
}
于 2013-03-05T09:49:34.533 に答える