使用Javascript在SVG路径上设置指针事件

时间:2020-07-10 11:53:29

标签: javascript jquery css svg pointer-events

我正在使用JavaScript函数来启用和禁用pointer-events<svg><main>元素的子元素。

我的第一次尝试是:

let el = jQuery( "main" );
el.css({ "pointer-events": "none" });

这应该起作用,因为pointer-events属性是继承的。确实如此。除我的path中的svg之外,所有元素上的指针事件均被禁用。 然后,经过一段时间的搜索,我发现pointer-events中的svg是元素的属性。

所以我尝试了:

let el = jQuery( "main" );
console.log( el.find( "path" ).attr( "pointer-events" ) ); // which returns: undefined

el.css({ "pointer-events": "none" });
el.find( "path" ).attr( "pointer-events", "none" );
console.log( el.find( "path" ).attr( "pointer-events" ) ); // which returns: none

因此该属性已设置,但无法正常工作。该路径仍然响应hover-和click-事件。

现在我被卡住了,因为我不明白这一点。

1 个答案:

答案 0 :(得分:0)

这是一个很愚蠢的问题。由于代码中其他地方的错误,它不起作用。

尽管显然dates 01/01/20 01/02/20 01/03/20 country Fra NaN NaN NaN 不继承svg属性。但 pointer-events 效果很好。

@Turnip的评论很正确。如果您确实需要帮助,则要发布所有相关代码。

我希望这会在将来对某人有所帮助。