gpt4 book ai didi

javascript - svgPanZoom:平移时禁用点击监听器

转载 作者:行者123 更新时间:2023-11-30 00:33:00 25 4
gpt4 key购买 nike

这是关于 ariutta/svg-pan-zoom 的图书馆特定问题.

我有一个带有一些 <a> 的 SVG 元素标签。通过 jQuery,我处理对这些元素的点击:$('svg').on('click', 'a', function() { ... }) .

现在我添加了上面提到的用于缩放和平移 SVG 元素的库。这很好用,除了每次当光标在 a 上时我平移元素,它会触发点击监听器。

当 mouseup 由平移引起时,如何防止监听器触发?

最佳答案

可能对你来说太晚了,不过,我想分享我的解决方案:

我使用 beforePan 设置一个属性,该点击当前被禁用。

在点击事件处理程序中,我检查属性,如果点击当前被禁用。如果是这样,请不要执行任何操作,而是将属性设置回去。下一次调用点击事件处理程序,当你真正点击时,点击 Action 正常执行。

    beforePan: function(oldPan, newPan) {
svgPolygons.clickDisabled = true;
},


function clickerHandler() {
if (!svgPolygons.clickDisabled) {
// perform click action
} else {
// enable click again
svgPolygons.clickDisabled = false;
}
}

在上面的代码中,svgPolygons 是我用来存储属性的 SVG 中的一个元素。但当然,如果当前禁用点击,则可以使用任何其他位置进行存储。

关于javascript - svgPanZoom:平移时禁用点击监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28479171/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com