Как добавить событие onclick в элемент joint.js?
У меня есть элемент joint.js в DAG и хотел бы иметь возможность запускать событие, щелкнув по нему.
Я мог бы использовать $(selector).click(...)
, чтобы сделать это, но мне было интересно, существует ли какой-либо конкретный способ совместной работы.
так как это было бы неплохо. Одним из событий, которые я решил, был кандидат на onclick, был "batch: stop"
Мой код:
var variable = new joint.shapes.basic.Rect({
name : label,
id: label,
onclick : function () {alert("hello");},
size: { width: width, height: height },
attrs: {
text: { text: label, 'font-size': letterSize, 'font-family': 'monospace' },
rect: {
fill : fillColor,
width: width, height: height,
rx: 5, ry: 5,
stroke: '#555'
}
}
});
variable.on('batch:stop', function (element) {alert(""); toggleEvidence(element.name);});
return variable;
Как добавить событие onclick?
Ответы
Ответ 1
Формы JointJS - это модели, поэтому вы правы, что обработчики кликов не будут работать на них. Документ JointJS запускает события, которые могут быть полезны для вас:
paper.on('cell:pointerdown',
function(cellView, evt, x, y) {
alert('cell view ' + cellView.model.id + ' was clicked');
}
);
другие события: cell: pointerup, cell: pointerdblclick, cell: pointermove.
Полный список можно найти здесь: http://jointjs.com/api#joint.dia.Paper:events.
ИЗМЕНИТЬ
Начиная с JointJS v0.9, также существует событие cell:pointerclick
.