我已经制作了这个小旗图标。
http://www.trjps.co.uk/image_store_old/estonia_flag.svg
鼠标悬停时,它会亮起。当你点击它时它变得更亮(这是通过使叠加渐变可见来完成的),它也会移动一点。
所有内容都由群组标记中的一组mouseon,mouseouts等控制
按下然后移动鼠标时出现问题。第二个指针命中覆盖层,发生鼠标事件。指针从未离开组,因为叠加层位于同一组中。
我甚至尝试将所有渐变停止放在组中但没有任何改变。
我忽略了什么吗?任何帮助或暗示都是最受欢迎的。
Gaz
答案 0 :(得分:0)
也许这是一个浏览器错误。如果该元素是event元素的子元素并且允许事件传播,则元素的突然鼠标块不应触发mouseup。
您可以通过操纵fill-opacity
代替visibility
来解决此问题:
//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"
/>