我想'标记' cytoscape.js中的节点,所以我可以为不同的节点组提供不同的点击处理程序。我知道我可以使用他们的ID或名称作为选择器,但是我想知道我是否可以使用自定义标签来执行此操作?
以下是我的尝试......
<style>
body {
font-family: helvetica;
font-size: 14px;
}
#cy {
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0;
z-index: 999;
}
h1 {
opacity: 0.5;
font-size: 1em;
}
</style>
<script>
$(function(){
var cy = window.cy = cytoscape({
container: document.getElementById('cy'),
textureOnViewport: true,
pixelRatio: 1,
ready: function(){
},
style: [
{
selector: 'node',
css: {
'content': 'data(name)',
'shape':'data(shape)',
'width': 'data(width)',
'height': 'data(height)',
'border-color': 'data(bordercolor)',
'border-width': 'data(borderwidth)',
'color': '#fff',
'type': 'cat'
}
},
{
selector: 'edge',
css: {
'target-arrow-shape': 'triangle',
'content': 'data(label)'
}
},
],
});
});
$.getJSON('<%= url_for(‘getdata’) %>',
function (data) {
cy = $('#cy').cytoscape("get");
cy.load(data);
cy.layout({name: 'cose',
});
cy.$('node[type = “cat”]’).on('click',function(e){
//do something
});
});
</script>
</head>
<body>
<h1>Demo</h1>
<div id="cy"></div>
</body>