我想在graphiti中注册矩形上的单击事件。我试过了
var innerrect = new graphiti.shape.basic.Rectangle(100, 20);
innerrect.onClick = function(){
alert("Hi");
}
rect.addFigure(innerrect , new graphiti.layout.locator.BottomLocator(rect));
canvas.addFigure(rect, 100, 100); 但行不通。请告诉我这件事好吗?
发布于 2012-07-09 18:15:38
创建你自己从矩形继承的形状,如下所示。这一开始看起来有点不舒服,但通常你会用很多自定义代码来编写自己的形状。在这种情况下,创建一个新类是一次性的工作。
请记住,这些示例是一个很好的起点。还有一个带有单击事件侦听器的示例。
MyFigure = graphiti.shape.basic.Rectangle.extend({
NAME : "MyFigure",
init : function()
{
this._super();
this.createPort("output");
this.setDimension(30,30);
this.setResizeable(false);
this.value=false;
this.colors={};
this.colors[true]="#00f000";
this.colors[false]="#f00000";
this.setBackgroundColor(this.colors[this.value]);
},
/**
* @method
* Change the color and the internal value of the figure.
* Post the new value to related input ports.
*
*/
onClick: function(){
this.value = !this.value;
this.setBackgroundColor(this.colors[this.value]);
var connections = this.getOutputPort(0).getConnections();
connections.each($.proxy(function(i, conn){
var targetPort = conn.getTarget();
targetPort.setValue(this.value);
conn.setColor(this.getBackgroundColor());
},this));
}
});https://stackoverflow.com/questions/11392956
复制相似问题