私は現在、地図(Leaflet.jsを介したOpenStreetMapデータ)と地図に表示されるマーカーに依存するアプリケーションを開発しています。
ユーザーの選択を実装したので、ユーザーはマーカーをクリックして選択し、Ctrlキーを押しながらクリックして選択にマーカーを追加できます。これはうまく機能します。
ここで、ユーザーがを押して、現在マップ上にあるすべてのマーカーを選択できるようにしたいと思いますCtrlA。これを実現するために使用するコードは次のようになります。
jQuery(document).keydown(function(e) {
if (e.ctrlKey) {
if (e.keyCode == 65 || e.keyCode == 97) { // 'A' or 'a'
e.stopPropagation();
// SELECT ALL MARKERS HERE...
}
}
});
これは、CtrlキーとAキーを同時に押したときにトリガーする場合に限り機能し、選択は希望どおりに行われます。
私の問題: イベントの伝播を停止する行を追加しても、ブラウザー(ChromeとOperaでテスト済み)は通常のCtrl + A-Selectionを実行します。つまり、マップ上のカスタム選択の実装によってマーカーが選択されます。 、Webページ全体が選択されます。これは面倒です。地図の横に選択できるテキストがこのページにないため、実際には意味がありませんCtrlA。地図が表示されている間は無効にします。
PSブラウザでjqueryを使用してCtrl+A(すべて選択)を無効にするにはどうすればよいですか?に示されているコードを使用しようとしました。しかし、それを機能させることができませんでした。この機能は本当にAPIにありますか?