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