Jquery 使用<;时SVG单击事件未触发/冒泡;使用>;要素
我遇到了一个有趣的错误(?),如果将SVG作为链接的一部分(例如图标)嵌入,图标本身不会在jQuery中注册单击事件,但单击文本会注册。我认为这是因为SVG事件没有冒出来 如果直接嵌入SVG,则无论单击文本还是图标,链接都会触发 我创建的一个简单测试用例可以在这里看到:Jquery 使用<;时SVG单击事件未触发/冒泡;使用>;要素,jquery,svg,click,blink,Jquery,Svg,Click,Blink,我遇到了一个有趣的错误(?),如果将SVG作为链接的一部分(例如图标)嵌入,图标本身不会在jQuery中注册单击事件,但单击文本会注册。我认为这是因为SVG事件没有冒出来 如果直接嵌入SVG,则无论单击文本还是图标,链接都会触发 我创建的一个简单测试用例可以在这里看到: 我也有同样的问题。我使用的修复方法是在svg上放置一个透明div。但这当然并不理想。使用指针事件:无。这对我有用 元素永远不是鼠标事件的目标;但是,鼠标事件 可以将其子代元素作为目标,如果这些子代具有 指针事件设置为其他值。在这
我也有同样的问题。我使用的修复方法是在svg上放置一个透明div。但这当然并不理想。使用
指针事件:无。这对我有用
元素永远不是鼠标事件的目标;但是,鼠标事件
可以将其子代元素作为目标,如果这些子代具有
指针事件设置为其他值。在这种情况下,鼠标
事件将触发此父元素上的事件侦听器,如下所示
在事件期间,在往返后代的途中适当
捕获/气泡阶段
我也遇到了同样的问题,我在链接上使用了display:block
或display:inline block
,它起了作用。有趣的是,如果使用$('.element'),它似乎会触发。单击(function(){…})而不是$(document)。on('click','element',function(){…});我已经报告了Blink(Chrome/Opera)。当svg作为Thank@Omar嵌入时,我遇到了同样的问题,这是一个聪明的技巧!我想这已经在Chrome中修复了,从那以后我再也没有遇到过。但如果我这样做了,我一定会记住的。可能对其他问题也有用。我很乐意。我遇到了Safari的问题。回答得好。我还发现,如果使用对象嵌入SVG,您提到的CSS声明应该应用于对象,而不是SVG。在撰写此评论时,我不需要chrome和firefox的指针事件,但IE-11需要这种解决方法,否则事件不会触发。这非常奇怪。我必须使用指针事件:all代码>使svg元素触发单击事件,而不是无。这个答案对我来说是误导性的,但我可能只是不明白什么。