Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 使用<;时SVG单击事件未触发/冒泡;使用>;要素_Jquery_Svg_Click_Blink - Fatal编程技术网

Jquery 使用<;时SVG单击事件未触发/冒泡;使用>;要素

Jquery 使用<;时SVG单击事件未触发/冒泡;使用>;要素,jquery,svg,click,blink,Jquery,Svg,Click,Blink,我遇到了一个有趣的错误(?),如果将SVG作为链接的一部分(例如图标)嵌入,图标本身不会在jQuery中注册单击事件,但单击文本会注册。我认为这是因为SVG事件没有冒出来 如果直接嵌入SVG,则无论单击文本还是图标,链接都会触发 我创建的一个简单测试用例可以在这里看到: 我也有同样的问题。我使用的修复方法是在svg上放置一个透明div。但这当然并不理想。使用指针事件:无。这对我有用 元素永远不是鼠标事件的目标;但是,鼠标事件 可以将其子代元素作为目标,如果这些子代具有 指针事件设置为其他值。在这

我遇到了一个有趣的错误(?),如果将SVG作为链接的一部分(例如图标)嵌入,图标本身不会在jQuery中注册单击事件,但单击文本会注册。我认为这是因为SVG事件没有冒出来

如果直接嵌入SVG,则无论单击文本还是图标,链接都会触发

我创建的一个简单测试用例可以在这里看到:
我也有同样的问题。我使用的修复方法是在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元素触发单击事件,而不是无。这个答案对我来说是误导性的,但我可能只是不明白什么。