DOM中的新SVG元素,通过JavaScript添加,直到鼠标up才呈现
New SVG elements in DOM, added through JavaScript, not rendered until mouseup
纯JavaScript(没有JQuery, D3或其他外部库)。我正在拖动看起来像矩形列的SVG对象。它们在矩形之间有连接线,当我将一个矩形拖到另一个矩形上时,我将从DOM中删除所有元素,检查列中的每个矩形是否对应于相邻列中的矩形,如果该条件为真,则在它们之间绘制新的连接线。在控制台中,我可以看到元素是立即创建的,但是直到我松开鼠标并停止拖动它们才呈现出来。因为我可能会拖过多个列,并且需要在决定放到哪里之前比较每个位置的结果,所以我不仅需要立即创建新元素,还需要立即呈现新元素,而不是在释放鼠标之前被阻塞。
[编辑:为了回应对"不显示研究"的反对,请注意以下(原始)段落。]尝试了我能找到的所有建议,明确地提到了最常见的建议。也许我的研究方法不成熟;你能不能给点建议,以便我下次能做得更好?)
根据本网站和其他地方的建议,我尝试从DOM中添加和删除一个元素,并切换各种元素的显示属性,但没有成功。
示例文件位于https://github.com/obdurodon/drag。要运行,克隆并在浏览器中打开textual_correspondence_static_sample/test.xhtml(从文件系统中,这样它就可以找到链接到的CSS和JavaScript文件)。抓住列顶部的拖动图标并向左或向右拖动。连接线只在下降时重新绘制,但我需要它们在每次交叉后立即重新绘制(我会担心稍后在鼠标移动时拉伸它们)。
我认为原因是因为你在endMove()(在你的drawLines()
调用之后)中给线条一个笔画颜色。但在swapColumns()
函数中不是这样做的。SVG中的新元素默认没有描边
- EaseJS拖放;放下(动画CC)电影剪辑的鼠标坐标
- 当鼠标悬停在文本中的单词上时显示警报
- JsFiddle上的鼠标事件不起作用
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 如何在鼠标悬停时在另一个图像上滑动图像.
- 鼠标悬停事件影响列表中所有行中的按钮,而不仅仅是特定按钮
- 将鼠标旋转限制为特定的度数
- 跟踪jqplot垂直折线图的鼠标位置
- node-webkit-从父窗口捕获iframe鼠标事件
- 悬停下拉菜单即使在鼠标移出后也保持活动状态
- Javascript-在视频中跟踪鼠标位置
- JQuery UI可拖动潜水与滚动棒到鼠标
- 如何防止鼠标up事件的单击事件
- 使用鼠标up事件触发表行中的按钮单击事件
- setInterval不能通过鼠标up清除
- 为什么单击事件不能通过停止鼠标down/鼠标up来停止?
- DOM中的新SVG元素,通过JavaScript添加,直到鼠标up才呈现
- 鼠标up功能阻止切换
- 捕获浏览器/窗口外的鼠标up事件
- 如何改变滑块的鼠标上下触发振荡器的音调,并在使用Javascript和Web音频API的鼠标up事件后保留状态