使用firefox,当我在self.nextResponder
元素上单击鼠标中键(或按住Ctrl键并单击)时,会在新标签页中打开use
网址(如xlink:href
)
错误或功能?
href
答案 0 :(得分:1)
unresolved bug他们并不确定如何处理。触发器是xlink:href
,它在某种程度上被内部处理,就像A.href一样(中键单击或ctrl +单击打开到新选项卡。)一种解决方法是将xlink:href
元素隐藏在不可见的情况下RECT:
<svg viewBox="0 0 400 80">
<circle id="circle" cx="40" cy="40" r="30" fill="#29e" />
<use xlink:href="#circle" transform="translate(70, 0)" style="stroke: red;" />
<rect style="opacity:0" x="80" y="10" width="60" height="60" />
</svg>
<p>ctrl+click on right circle - nothing happens</p>
&#13;
如果您有任何需要触发的事件,您必须将它们绑定到不可见的矩形。
答案 1 :(得分:0)
作为先前回答中链接的错误的解决方法,您还可以在send-keys
元素上使用pointer-events: none
CSS规则:
use
&#13;
或声明所有<svg viewBox="0 0 400 80">
<circle id="circle" cx="40" cy="40" r="30" fill="#29e"></circle>
<use xlink:href="#circle" transform="translate(70, 0)" style="stroke: red; pointer-events: none;"></use>
</svg>
<p>ctrl+click on right circle</p>
元素不得与use
一起点击。
显然,这种解决方法仅适用于元素根本不具有交互性的情况。