动态JointJS元素大小
Dynamic JointJS element size
除了创建自己的自定义HTML元素外,有没有一种方法可以让元素(比如矩形)的大小取决于你在其中存储的内容。例如,如果我想显示Foo
,那么元素很小,但对于This is a really long string
,元素会大得多。这在不创建自定义元素的情况下可行吗?
这就是使用自定义元素模型的方法。
如果下面是你的元素模型,(注意它有固定的宽度和高度)
joint.shapes.custom.CustomElement = joint.shapes.devs.Model.extend({
defaults: joint.util.deepSupplement({
type: 'custom.CustomElement',
position: { x: 300, y: 50 },
size: { width: 90, height: 90 },
}, joint.shapes.devs.Model.prototype.defaults) });
假设您在实例化时间设置元素的标签,您可以遵循以下方法,
var label = "My Element Label";
var elem = new joint.shapes.custom.CustomElement({
size: { width: label.length*12, height: 80 },
attrs: {
'.label': {text: label}
}
});
graph.addCell(elem);
在这里,宽度是length of label * (font size of label in pixel)
,高度是固定的。
但是,由于您不想创建自定义模型,因此在创建元素(模型实例)后,可以在将其添加到图形之前设置以下属性。
var label = "my custom label";
var elem = // create your element
elem.attributes.size.width = label.lenght*12
graph.adddCell(elem)
相关文章:
- CKEditor Widget-阻止编辑可编辑元素本身
- 如何设置html元素填充的动画
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 使用clickToggle并在单击另一个元素时关闭元素
- 单击时将焦点更改为元素
- 表追加而不附加最后一个元素
- 如何在jQuery中获取元素的形式
- 创建一组元素JointJS
- 正在删除ID为(jointJS)的元素
- 在JointJS中,元素如何访问position、inPorts和outPorts
- 动态JointJS元素大小
- 如何更改自定义模板 jointJS 元素的 CSS
- 在 JointJS 上批量添加元素会导致性能问题
- 如何区分鼠标点击,右键单击和鼠标滚轮点击拖动到纸上的形状元素JointJS rapid
- 在JOINTJS元素中使用html是行不通的
- 如何检查jointJS元素不是基于类型,而是基于模板名称
- 我可以在jointjs元素中添加新属性吗?
- JointJS 将多个自定义连接器绘制到一个元素
- 从JointJS元素/节点调用javascript/jquery函数