我正在使用精彩的svg-pan-zoom插件(https://github.com/ariutta/svg-pan-zoom)来平移/缩放我的svg元素,我想启用鼠标拖动以让我们使用它来移动它。
我的svg中有一个元素,我想阻止拖动,因为它有一个点击事件,当用户点击它时,它有时会拖动svg元素。 请求的行为是标准拖动,除非鼠标在此元素上关闭。 我已经尝试使用event.stopPropagation()和event.preventDefault(),但似乎svg-pan-zoom插件有自己的事件管理。
如何阻止鼠标拖动?
答案 0 :(得分:1)
您可以have 2 layers(如果您不需要平移/缩放该元素)。
或者您仍然可以保持所有元素缩放,但仅限some of them listening for events。只需将您想要侦听事件的所有内容放在一个SVG组元素<g>
中,并将其设置为侦听事件。
最后一个解决方案是override default events点击/拖动并编写自己的处理程序。
如果您不需要缩放元素,我建议使用选项1,否则建议使用选项2。