admin管理员组文章数量:1323342
I am trying to send backward & bring forward a active object/active group on click of button in fabric js , i am able send backward a active object but getting problem in group.
Here is my code
$('#send-backward').click(function() {
var activeObject=canvas.getActiveObject(),
activeGroup=canvas.getActiveGroup();
if (activeObject) {
canvas.sendBackwards(activeObject);
canvas.renderAll();
}
else if (activeGroup) {
canvas.getActiveGroup().forEachObject(function(o){canvas.sendBackwards(o); });
//activeGroup.sendBackwards();
canvas.renderAll();
}
});
$('#bring-forward').click(function() {
var activeObject=canvas.getActiveObject(),
activeGroup=canvas.getActiveGroup();
if (activeObject) {
canvas.bringForward(activeObject);
canvas.renderAll();
}
else if (activeGroup) {
canvas.getActiveGroup().forEachObject(function(o){canvas.bringForward(o); });
//activeGroup.bringForward();
canvas.renderAll();
}
});
Jsfiddle
with this code bring forward is ok but problem in send backward
and another code try is
jsfiddlethis code is working strange it make a copy of group
Thanks in advance for help
I am trying to send backward & bring forward a active object/active group on click of button in fabric js , i am able send backward a active object but getting problem in group.
Here is my code
$('#send-backward').click(function() {
var activeObject=canvas.getActiveObject(),
activeGroup=canvas.getActiveGroup();
if (activeObject) {
canvas.sendBackwards(activeObject);
canvas.renderAll();
}
else if (activeGroup) {
canvas.getActiveGroup().forEachObject(function(o){canvas.sendBackwards(o); });
//activeGroup.sendBackwards();
canvas.renderAll();
}
});
$('#bring-forward').click(function() {
var activeObject=canvas.getActiveObject(),
activeGroup=canvas.getActiveGroup();
if (activeObject) {
canvas.bringForward(activeObject);
canvas.renderAll();
}
else if (activeGroup) {
canvas.getActiveGroup().forEachObject(function(o){canvas.bringForward(o); });
//activeGroup.bringForward();
canvas.renderAll();
}
});
Jsfiddle
with this code bring forward is ok but problem in send backward
and another code try is
jsfiddlethis code is working strange it make a copy of group
Thanks in advance for help
- Can you provide JSFiddle? – xmojmr Commented Oct 18, 2015 at 6:40
4 Answers
Reset to default 2You can directly use activeGroup.sendBackwards()
respective activeGroup.bringForward()
document.getElementById('tofront').addEventListener("click",enviarFrente);
function enviarFrente()
{
var myObject = canvas.getActiveObject();
canvas.bringToFront(myObject);
canvas.discardActiveObject();
canvas.renderAll();
}
document.getElementById('toback').addEventListener("click",enviarFondo);
function enviarFondo()
{
var myObject = canvas.getActiveObject();
canvas.sendToBack(myObject);
canvas.discardActiveObject();
canvas.renderAll();
}
document.getElementById('toAdelante').addEventListener("click",moverAdelante);
function moverAdelante()
{
var myObject = canvas.getActiveObject();
canvas.bringForward(myObject);
canvas.discardActiveObject();
canvas.renderAll();
}
document.getElementById('toAtras').addEventListener("click",enviarAtras);
function enviarAtras()
{
var myObject = canvas.getActiveObject();
canvas.sendBackwards(myObject);
canvas.discardActiveObject();
canvas.renderAll();
}
In version 1.7.3 activeGroup.sendBackwards()
&& activeGroup.bringForward()
Were not working properly so i post fiddle over here where Both sendToBack && bringToFront Works nicly
https://stackoverflow./a/41879620/1390678
Try this code, Works fine for me.
var selectedObj = "" ;
canvas.on({
'selection:updated': bringToFront,
'selection:created': bringToFront
})
function bringToFront(options){
selectedObj = options.target;
}
$('#front').click(function(){
console.log(selectedObj);
selectedObj.bringForward();
});
$('#backword').click(function(){
console.log(selectedObj);
selectedObj.sendBackwards();
});
本文标签: javascriptHow to send backward amp bringforward a active group in fabricjsStack Overflow
版权声明:本文标题:javascript - How to send backward & bringforward a active group in fabricjs - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1742135335a2422342.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论