2013-12-09 16 views
11

DAG'de bir joint.js öğesine sahibim ve bir olayı tıklayarak tetikleyebilmeyi isterim.Bir joint.js öğesine bir onclick olayı nasıl eklenir?

Bunu yapmak için $(selector).click(...) kullanabilirim, ancak bunun daha iyi olacağından, bir joint.js özelliğinin ele alınmasının özel bir yolu olup olmadığını merak ediyorum, . Ben karar bir olay onClick için aday 'toplu: dur' idi

Kodum:

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; 

nasıl onclick olay eklemek gerekir?

cevap

21

JointJS şekilleri modellerdir, bu yüzden tıklama işleyicilerinin üzerinde çalışmayacakları konusunda haklısınız.

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

diğer olaylar şunlardır:: Hücre: pointerup, hücre: pointerdblclick, hücre: pointermove JointJS kağıt sizin için yararlı olabilecek olayları tetikler.

Tüm liste burada bulunabilir: http://jointjs.com/api#joint.dia.Paper:events.

DÜZENLEME:

JointJS v0.9 başlayarak, aynı zamanda bir cell:pointerclick olay vardır.

+0

Teşekkürler. Element nesnesine bağlı olacağını düşündüğümden, olay belgelerinin yanlış yönünü okuyordum. – ahalbert

+0

@dave bu soruyu lütfen http://stackoverflow.com/questions/31794098/error-while-fetching-json-from-database – kittu

+1

Eğer jointjs öğesinin içindeki html bağlantısı tıklandığında bir işlevi tetiklemeye çalışıyorum. Bu nasıl yapılabilir? – 32teeths

İlgili konular