Events onmouseup不';I don’我不喜欢和有梯度的人在一起
我制作了这个小小的旗帜图标 当你鼠标滑过时,它会亮起来。当你按下按钮时,它会变亮(这是通过使叠加渐变可见来实现的),并且它也会移动一点 所有东西都由组标记中的一组鼠标、鼠标等控制 按下鼠标然后移动鼠标时会出现问题。指针一碰到覆盖层,就会发生mouseup事件。指针从未离开组,因为覆盖在同一组中 我甚至试着把所有的梯度站放在小组里,但没有任何改变 我是不是忽略了什么?任何帮助或暗示都将不胜感激Events onmouseup不';I don’我不喜欢和有梯度的人在一起,events,svg,gradient,onmouseup,Events,Svg,Gradient,Onmouseup,我制作了这个小小的旗帜图标 当你鼠标滑过时,它会亮起来。当你按下按钮时,它会变亮(这是通过使叠加渐变可见来实现的),并且它也会移动一点 所有东西都由组标记中的一组鼠标、鼠标等控制 按下鼠标然后移动鼠标时会出现问题。指针一碰到覆盖层,就会发生mouseup事件。指针从未离开组,因为覆盖在同一组中 我甚至试着把所有的梯度站放在小组里,但没有任何改变 我是不是忽略了什么?任何帮助或暗示都将不胜感激 Gaz也许这是一个浏览器错误。如果某个元素是事件元素的子元素且允许事件传播,则该元素的突然鼠标块不应触
Gaz也许这是一个浏览器错误。如果某个元素是事件元素的子元素且允许事件传播,则该元素的突然鼠标块不应触发鼠标点 您可以通过操纵
填充不透明度
而不是可见性
来解决此问题:
//remove .setAttribute('visiblity', ...)
onmousedown="getElementById('flash').setAttribute('fill-opacity',1)"
onmouseup="getElementById('flash').setAttribute('fill-opacity',0)"
还有你的#flash
元素
<!--Removed visibility="hidden" added fill-opacity="1" and removed fill-opacity:0 from styles -->
<path
style="fill:url(#radialGradient3033);fill-rule:nonzero;stroke:#ffffff;stroke-width:1.2529794;stroke-opacity:0"
d="M 423.65326,432.06998 C 405.51096,436.96285 390.19952,445.00107 368.27826,447.66373 362.06308,452.02659 356.97847,456.99773 353.34076,462.22623 L 353.34076,496.06998 C 359.10138,502.25487 368.35017,506.24285 379.40326,507.60123 401.52711,502.8051 417.56662,493.26432 440.49701,490.66373 445.27742,487.01892 449.28524,482.98308 452.37201,478.78873 L 452.37201,443.19498 C 445.96886,436.83241 435.72653,432.94392 423.65326,432.06998 z"
id="flash"
inkscape:connector-curvature="0"
fill-opacity="1"
/>
Bonza!这是一种享受。我用问题代码尝试了Firefox和opera,但两者的行为都是一样的(在我的经验中,SVG的情况并不常见)。出于某种奇怪的原因,我经常避免使用“填充不透明”而使用“可见性”。吸取的教训。非常感谢。