Jquery 使用CSS禁用SVG鼠标单击事件

Jquery 使用CSS禁用SVG鼠标单击事件,jquery,css,svg,Jquery,Css,Svg,我想禁用使用css单击SVG元素: .disabled{ pointer-events: none; } 当我使用$(“.dasvg”)获取SVG元素时,控制台显示我已选择该元素: [ <svg width=​"500" height=​"500" class=​"dasvg">​ <defs>​…​</defs>​ <defs>​…​</defs>​ <path class=​"link dragline

我想禁用使用css单击SVG元素:

.disabled{
  pointer-events: none;
}
当我使用
$(“.dasvg”)
获取SVG元素时,控制台显示我已选择该元素:

[
  <svg width=​"500" height=​"500" class=​"dasvg">​
  <defs>​…​</defs>​
  <defs>​…​</defs>​
  <path class=​"link dragline hidden" d=​"M0,0L0,0">​</path>​
  <g>​…​</g>​
  <g>​…​</g>​
  </svg>​
]
[
​
​…​​
​…​​
​​
​…​​
​…​​
​
]

但是,当我尝试执行类似于
$(“.dasvg”).addClass(“disabled”)
或$(“.dasvg”)[0].addClass(“disabled”)
的操作时,
disabled`类不会附加到元素中。有没有使用CSS禁用SVG元素的方法?

jquery的addClass不能与SVG类一起工作,因为jquery无法处理可设置动画的SVG类属性。只要使用
$(“.dasvg”)[0].setAttribute(“class”,“disabled”)
就可以了,假设元素还没有任何类。

您可以将css放在svg标记中:

<svg>​
    <!-- Insert here​ -->
    <style>
        .disabled {
            pointer-events: none;
        }
    <style>
    <!-- The rest of the code -->
</svg>​
​
.残疾人{
指针事件:无;
}
​
$(“.dasvg”)[0]
是一个DOM元素,而不是一个jQuery对象--
.addClass
对它不起作用。$(.dasvg”)[0]。setAttribute(“class”,$(.dasvg”)[0]。attr('class')+“disabled”)即使已经有类也可以工作