D3.js d3.event.shiftKey使用力导向布局导致碰撞
我正在尝试在力导向布局中创建Shift+单击动作,并将以下代码应用于节点形状:D3.js d3.event.shiftKey使用力导向布局导致碰撞,d3.js,force-layout,D3.js,Force Layout,我正在尝试在力导向布局中创建Shift+单击动作,并将以下代码应用于节点形状: .on("click",function(){ if(d3.event.shiftKey){ //do something } }); 该代码通常能够正常工作,但偶尔会使浏览器崩溃(Chrome和Safari都会崩溃)。崩溃似乎发生在以下顺序之后: 在节点外的任意位置单击并拖动光标(以便显示文本光标) 按住shift键,同时按住节点外部的光标(仍显示
.on("click",function(){
if(d3.event.shiftKey){
//do something
}
});
该代码通常能够正常工作,但偶尔会使浏览器崩溃(Chrome和Safari都会崩溃)。崩溃似乎发生在以下顺序之后:
- 在节点外的任意位置单击并拖动光标(以便显示文本光标)
- 按住shift键,同时按住节点外部的光标(仍显示文本光标)
- 单击节点
谢谢 我们遇到了类似的情况,这似乎是一个Chrome bug: webkit中的默认行为可能是导致崩溃的机制,在webkit中,按住shift键并单击会选择当前光标位置之前的所有文本
我们还没有花时间去追踪d3中的细节,但正如bug报告所表明的,现在可以通过对任何以前关注的元素进行“模糊”调用来绕过它(参见bug报告) 你能发一把小提琴或一把bl.ocks吗?这听起来像个虫子。你检查过相应的bug跟踪程序了吗?从这个现有的fiddle()中,我发现这个问题并不是我的Shift+Click事件独有的-它似乎发生在所有强制导向的布局中。在以下过程中按住shift键:单击空白,单击节点-浏览器崩溃。