2013-12-09 7 views
11

मेरे पास एक डीएजी में एक संयुक्त.जेएस तत्व है, और इस पर क्लिक करके एक ईवेंट ट्रिगर करने में सक्षम होना चाहते हैं।संयुक्त.जेएस तत्व पर ऑनक्लिक ईवेंट कैसे जोड़ें?

मैं इसे करने के लिए $(selector).click(...) का उपयोग कर सकता हूं, लेकिन मैं सोच रहा था कि संयुक्त .js इसे संभालने का विशिष्ट तरीका है, क्योंकि यह संभवतः बेहतर होगा। एक घटना मैंने तय कर लिया onclick के लिए एक उम्मीदवार 'बैच: रोक' था

मेरे कोड:

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

संयुक्त जेएस आकार मॉडल हैं, इसलिए आप सही हैं कि क्लिक हैंडलर उन पर काम नहीं करेंगे।

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

धन्यवाद। मैं घटना दस्तावेज के गलत पहलू को पढ़ रहा था, क्योंकि मैंने सोचा था कि यह एलिमेंट ऑब्जेक्ट से संबंधित होगा। – ahalbert

+0

@ डेव आप इस सवाल को खुश कर सकते हैं http://stackoverflow.com/questions/31794098/error-while-fetching-json-from-डेटा – kittu

+1

मैं एक फ़ंक्शन ट्रिगर करने का प्रयास कर रहा हूं जब संयुक्तज तत्व तत्व के अंदर एक HTML लिंक क्लिक किया जाता है। वह कैसे किया जा सकता है ? – 32teeths

संबंधित मुद्दे