2013-12-09 3 views
11

DAG에 joint.js 요소가 있으며이를 클릭하여 이벤트를 트리거 할 수 있기를 원합니다.onclick 이벤트를 joint.js 요소에 추가하는 방법은 무엇입니까?

나는 $(selector).click(...)을 사용할 수 있지만, 그보다 더 좋을 것이므로 처리 할 joint.js 특정 방법이 있는지 궁금합니다. 내가 결심 한 이벤트는 온 클릭 후보가 '배치 : 중지를'이었다

내 코드 :

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 이벤트를 추가해야합니까?

답변

21

JointJS 도형은 모델이므로 클릭 핸들러가 작동하지 않을 수도 있습니다.

paper.on('cell:pointerdown', 
    function(cellView, evt, x, y) { 
     alert('cell view ' + cellView.model.id + ' was clicked'); 
    } 
); 

다른 이벤트는 다음과 같습니다 : 세포 : pointerup, 세포 : pointerdblclick, 세포 : pointermove JointJS의 논문은 당신에게 도움이 될 수있는 이벤트를 트리거합니다.

전체 목록은 http://jointjs.com/api#joint.dia.Paper:events입니다.

편집 :

이 JointJS의 V0.9에서 시작은, 또한 cell:pointerclick 이벤트가있다.

+0

감사합니다. Element 객체와 관련이있을 것으로 생각했기 때문에 이벤트 문서의 잘못된 부분을 읽었습니다. – ahalbert

+0

@dave이 질문을하시기 바랍니다 수 http://stackoverflow.com/questions/31794098/error-while-fetching-json-from-database – kittu

+1

나는 jointjs 요소 내부의 HTML 링크를 클릭하면 함수를 트리거하려고합니다. 어떻게 할 수 있습니까? – 32teeths

관련 문제