次のコードをノード形状に適用して、強制指向レイアウトでShift+Click アクションを作成しようとしています。
.on("click",function(){
if(d3.event.shiftKey){
//do something
}
});
コードは正しく機能する傾向がありますが、ブラウザーがクラッシュすることがあります (Chrome と Safari の両方がクラッシュします)。次のシーケンスの後にクラッシュが発生するようです。
- カーソルをクリックしてノードの外側の任意の場所にドラッグします (テキスト カーソルが表示されるようにします)。
- ノードの外側でカーソルを押しながら Shift キーを押したままにします (テキスト カーソルは引き続き表示されます)。
- ノードをクリック
更新: このクラッシュは私のコードだけのものではないようです。次の操作を行うと、任意の強制的なレイアウトでブラウザーをクラッシュさせることができます: シフトをずっと押したままにして、空のスペースをクリックし、ノードをクリックします。
組み込みのシフト機能が D3 の邪魔になっているのではないでしょうか? たとえば、alt キーは上記のコードで正常に機能します。
ありがとう!