jQuery删除或隐藏画布上的所有svg

我想删除或隐藏svg,我双击。jQuery删除或隐藏画布上的所有svg

var draw = SVG('output').size(1000, 500); 

var table = draw.circle(50)

.fill('#00ff0000')

.stroke('black')]

.center(50, 50);

table.attr("class", "table");

$("svg").on('dblclick',function(event){

$(".table").hide();

});

var desk = draw.rect(50,50)

.fill('green')

.stroke('black')

.move(100,0);

desk.attr("class", "desk");

$("svg").on('dblclick',function(event){

$(".desk").hide();

});

var chair = draw.rect(50,50)

.fill('green')

.stroke('black')

.move(200,0);

desk.attr("class", "chair");

$("svg").on('dblclick',function(event){

$(".chair").hide();

});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/svg.js/2.6.3/svg.min.js"></script>

<div id="output"></div>

我想隐藏我双击了一个,但现在的结果是,所有的人都被隐藏,如果我双击其中的任何一个。即使我双击画布的空白区域,也会隐藏所有SVG图像。

回答:

当你写$("svg"),为目标的页面上每一个SVG元素。 运行此代码时$("svg").on('dblclick',function(event){ $(".table").hide(); });例如, 每个页面上的SVG得到"dblclick"事件隐藏".table"。为了解决这个问题,而不是在全球范围选择所有的SVG元素,使用CSS选择器https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors只抓取与你给它的类的SVG(例如,也许你想$("svg.table").on('dblclick')或类似的东西)

以上是 jQuery删除或隐藏画布上的所有svg 的全部内容, 来源链接: utcz.com/qa/259107.html

回到顶部