2013-03-22 6 views
6

में नोड्स पर ऑनक्लिक ईवेंट जोड़ें, मेरे पास sigma.js में एक बहुत ही सरल उदाहरण है जो कुछ अतिरिक्त डेटा के साथ एक gexf-file पढ़ता है।Sigma.js

// Instanciate sigma.js and customize rendering : 
var sigInst = sigma.init(document.getElementById('graph-container')).drawingProperties({ 
    defaultLabelColor: '#fff', 
    defaultLabelSize: 14, 
    defaultLabelBGColor: '#fff', 
    defaultLabelHoverColor: '#000', 
    labelThreshold: 6, 
    defaultEdgeType: 'straight' 
}).graphProperties({ 
    minNodeSize: 0.5, 
    maxNodeSize: 5, 
    minEdgeSize: 1, 
    maxEdgeSize: 1 
}).mouseProperties({ 
    maxRatio: 4 
}); 

// Parse a GEXF encoded file to fill the graph 
// (requires "sigma.parseGexf.js" to be included) 
sigInst.parseGexf(gexfFile); 

यह वास्तव में एक ट्यूटोरियल से लिया गया है। अब मैं सभी नोड्स पर एक ऑन-क्लिक ईवेंट जोड़ना चाहता हूं। क्या कोई मुझे ऐसा करने का उचित तरीका बता सकता है?

उत्तर

7

चरण 1 - ईवेंट हैंडलर

लेखन
function onClick(event) { 
    window.console.log("clicked!"); 
} 

चरण 2 - घटना नाम

मैं थोड़ी देर के क्या घटना नाम हो सकता है के लिए सोच रहा है ढूँढना। ऐसा लगता है कि "ऑनमूसओवर", "ऑनमोसडाउन" इत्यादि का नाम बदलकर "ऑनमाउस" भाग के साथ बदल दिया गया है और अंत में "नोड्स" जोड़ा गया है।

तो एक क्लिक घटना के लिए यह होगा 'downnodes'

चरण 3 - क्लिक करें घटना के लिए हैंडलर को लिंक:

आप एक ईवेंट हैंडलर बाध्य करने के लिए बाँध() फ़ंक्शन का उपयोग करने के लिए है एक घटना के नाम पर।

sigInst.bind('downnodes',onClick).draw(); 

सूची उपलब्ध कराने के लिए घटनाक्रम सूची @ v1.0.3

मैट के लिए धन्यवाद।

क्लिक करें, rightclick, clickStage, doubleClickStage, rightClickStage, clickNode, clickNodes, doubleClickNode, doubleClickNodes, rightClickNode, rightClickNodes, overNode, overNodes, outNode, outNodes, downNode, downNodes, upNode, upNodes - सभी लोअरकेस होना चाहिए।

+1

धन्यवाद। आपको ईवेंट नाम कैसे मिला? – Gijs

+1

देर से उत्तर के लिए खेद है। मैंने जिथूब पर स्रोत देखा। – otonglet

+2

सभी घटनाओं की सूची @ v1.0.3: क्लिक करें, दाएं क्लिक करें, क्लिकस्टेज, डबलक्लिकस्टेज, दाएंक्लिकस्टेज, क्लिक नोड, क्लिक नोड्स, डबलक्लिक नोड, डबलक्लिक नोड्स, दाएंक्लिक नोड, दाएंक्लिक नोड्स, ओवर नोड, ओवर नोड्स, आउट नोड, आउट नोड्स, डाउन नोड, डाउन नोड्स, अप नोड, अप नोड्स –

5

आधिकारिक दस्तावेज के अनुसार:

s = new sigma({...}); 

// Bind the events: 
s.bind('overNode outNode clickNode doubleClickNode rightClickNode', function(e) { 
    console.log(e.type, e.data.node.label, e.data.captor); 
}); 

https://github.com/jacomyal/sigma.js/blob/master/examples/events.html

(स्वीकार किए जाते हैं जवाब मेरे लिए काम नहीं किया।)